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:

posted @ 2018-04-12 11:30  寻觅beyond  阅读(209)  评论(0)    收藏  举报
返回顶部