C与C++在编程中的差异
Case 1:
C语言和C++的结构体声明都可以使用
struct Node{
#some code
};
但是在创建结构体类型的变量时,C语言必须使用struct Node varName;而C++可以省略struct关键字,直接Node varName。
如果想要在C语言中单独使用Node varName创建一个结构体的话,可以在定义结构体的时候使用typedef关键字,比如:
typedef Struct Node{
#somecode....
}Node;
因为typedef的作用就是定义类型别名,上面的第一个Node(其实应该将struct Node看成一个整体)是定义的一个结构体,而后面的一个Node,则是前面struct Node的别名,即Node==struct Node。
Case 2:
C语言中的malloc函数(stdlib.h),如果要申请一个结构体的内存,下面是两种语言的区别:
L = (LinkList)malloc(sizeof(struct Node)); //C语言必须这样,C++可以这样 L = (LinkList)malloc(sizeof(Node));//C++也可以这样
请参考case 1。
对于使用malloc申请其他基本类型(int,double,char,float,double)的内存空间,两种语言的是一样的
Case 2:
如果一个函数内如果使用了return value,那么必须将函数返回值类型设为value的类型;
如果一个函数内如果使用了return;或者没有return关键字,那么必须将函数返回值类型设为void的类型;
否则会出现警告WARNING,不是ERROR。
Case 2:
Case 2:
Case 2:
Case 2:
Case 2:
Case 2:
Case 2:
Case 2:
Case 2:
Case 2:
Case 2:
Case 2:
如需转载,请注明文章出处,谢谢!!!
浙公网安备 33010602011771号