C++结构体定义和C的区别

对于C来说,struct定义的结构体不是一种数据类型,所以每次声明的时候需要加上struct让编译器知道这是结构体,为了不每次都加上struct关键字,可以在定义结构体的时候加上typedef关键字:

typedef struct{

//

}A;

A a;

对于C++来说,struct定义的结构体就是一种数据类型了,声明的时候可以不用加上struct编译器也知道这是结构体,但是为了兼容C,所以在定义结构体的时候可以加上typedef,其实加不加效果都一样。

struct{

//

}A;

A a;

原文地址:https://www.cnblogs.com/judes/p/8213445.html