struct与typedef struct
来源:互联网 发布:淘宝怎么买翻墙 编辑:程序博客网 时间:2024/06/09 13:49
普通结构体声明时使用只struct关键字,而链表需要typedef struct,比较疑惑他们之间的区别
(1) 在C中定义一个结构体类型要用typedef:
typedef struct Student{ int a;}Stu;则声明变量是这种形式:Stu stu1;
如果没有typedef就必须用struct Student stu1;来声明。Stu实际上就是struct Student的别名。
另外这里也可以不写Student
typedef struct{ int a;}Stu;
则声明形式必须是Stu stu1;
2)在c++中定义一个结构体类型:
struct Student{ int a;};
于是就定义了结构体类型Student,声明变量时直接Student stu2
typedef struct Student2{int a;}stu1;//stu1是一个结构体类型
struct Student{int a;}stu2;//stu2是一个变量注意带typedef关键字,其就为类型,不带就为变量
还应该注意的是,C++为了C程序员的习惯,保留了Struct关键字,但是其意义与Class相同,唯一的区别是Struct默认成员权限为public。
3) 链表的声明
//方式1
typedef struct ListNode{ DataType data; struct ListNode *next;}Node,*LinkList;
//方式2
struct ListNode{DataType data;struct ListNode *next;};typedef struct ListNode Node; typedef Node *Linklist;
//方式3
typedef struct ListNode { DataType data; struct ListNode *next;}Node;typedef Node *LinkList;因为都有typedef关键字,所以后面声明的都是类型。其中Node与LinkList本质是一样的,只不过一个是Node类型结构体,一个是指向Node的指针。但是理解时LinkList应该是高层次的意义,即一个链表。
0 0
- typedef struct与struct
- typedef struct 与struct
- typedef struct 与 struct
- typedef struct与struct
- struct 与 typedef struct
- struct 与 typedef struct
- typedef struct与struct
- typedef struct与struct
- struct 与 typedef struct
- struct与typedef struct
- struct与typedef struct
- typedef struct与struct
- struct与typedef struct
- typedef struct与struct
- struct与typedef struct
- struct与typedef struct
- typedef struct与struct
- typedef 与 typedef struct
- new/delete 和malloc/free的区别是什么
- java enum
- HttpClient入门
- VS2012工程升级到VS2013错误处理
- 过程、函数的有效范围和同名问题
- struct与typedef struct
- hadoop 细节点
- Spring web.xm配置中各组件的启动顺序
- Vim编辑器插件安装及配置入门
- 计算字符出现的次数
- 妈妈再也不用担心我手贱删文件了呢
- 51驱动LCD1602
- Windows下使用Sublime Text 2调试/运行 C/C++ 程序
- Android控制手机振动相关