一、最经常使用定义方式:定义结构体data,此时结构体至关于一个类型,好比int,如需使用此结构体,方法同intide
struct data { char aa; char bb; char cc; int dd; }; struct data sum1, sum2;
二、定义结构体data同时,定义须要使用的结构体变量sum1,sum2。如后面再须要定义结构体变量,方法同1.net
struct data { char aa; char bb; char cc; int dd; }sum1, sum2; struct data sum3;
三、定义结构体时,结构体名称缺省,同时定义结构体变量sum1,sum2。但后面不可再定义结构体变量!code
struct { char aa; char bb; char cc; int dd; }sum1, sum2; struct sum3; <- 编译器报错
四、使用typedef 定义结构体,定义结构体data时,使用typedef,此种形式几乎不使用,再定义结构体变量时,仍需加struct,不然编译器报错!blog
typedef struct data { char aa; char bb; char cc; int dd; }; struct data sum3;
五、使用typedef定义结构体同时,给data结构体别名DATA,后续定义可不用使用struct data,直接使用DATA便可。get
typedef struct data { char aa; char bb; char cc; int dd; }DATA; struct data sum3; <- 可用,但不推荐 DATA sum1; <- 最经常使用方式
六、使用typedef定义结构体时,省掉结构体第一个别名data,直接在后面加DATA,使用方法同5。编译器
typedef struct { char aa; char bb; char cc; int dd; }DATA; DATA sum3;
7.链表中的使用方法it
typedef struct data { int value; struct data *next;//struct必需要加 }DATA; DATA sum3;
原文连接:https://blog.csdn.net/ziguo2010/article/details/79897327编译