typedef的概念
- 类型定义,用来建立新的数据类型名;
- 新建立类型名同样可用于类型声明、类型装换,具有同原类型名完全相同的效果;
- typedef声明并没有创建一个新类型,它只是为某个已存在的类型起别名;
用typedef struct定义结构体与struct的区别
- **区别就在于使用时,是否可以省去struct这个关键字。**若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n; 若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n。
- 在c++中可以不需要typedef就可以Student stu2是因为在c++中struct也是一种类,所以可以直接使用Student stu2来定义一个Student的对象,但c中却不可以。
参考资料
- BrianW.Kernighan, DennisM.Ritchie. C程序设计语言.第2版[M]. 机械工业出版社, 2004.
- struct与typedef struct的区别