C中的结构没有定义一种新的数据类型,而C++中则不然。在C++中定义一个新的结构时,也同时定义了一种新的数据类型,并且数据类型的名字就是结构的名字,这种新的数据类型可以用来声明变量、函数的返回类型等。然而在C中,结构的名字被称为标记符。参考以下代码:
struct C_struct {
int a;
int b;
}
struct C_struct svar;
在c中声明变量时,struct 与C_struct是必须同时使用的,他们结合在一起构成完整的数据类型。在C++中这样声明仍然会顺利通过编译,可是struct关键字是多余的!
以下定义也是常用的
typedef struct str_tag
{
int a;
int b;
}Str,*PStr;
Str str;
PStr pStr;
C与C++结构差异

被折叠的 条评论
为什么被折叠?



