数据结构-结构体及typedef声明结构体(个人笔记
结构体1.一般形式的结构体2.使用typedef的结构体(注:typedef的意义是起别名)1. 一般形式2. 省略了结构体名形式
结构体
1.一般形式的结构体
struct Node
{
int a
;
char x
;
}node1
;
2.使用typedef的结构体(注:typedef的意义是起别名)
1. 一般形式
typedef struct Node
{
int a
;
char x
;
}node
;
别名node可以用于代替“struct Node”,如下:
struct Node
* p
;
node
* p
;
这两句的意义是相同的,区别在于前者可以在结构体内部声明变量,后者不能。在结构体外都一样。如下
typedef struct Node
{
int a
;
char x
;
struct Node
* p
;
}node
;
node
*p
;
如果直接在结构体内用别名声明变量会报错,例如:
typedef struct Node {
int a;
char x;
node* p; //这句就是错误的
}node;
2. 省略了结构体名形式
typedef struct{
int a
;
char x;
}node
;
这样声明的结构体就只有一个名字了,即node。
菜鸟第一次写博客欢迎大佬指出错误!