一、结构标记声明
//part为structure tag
struct Part{
int id;
char name[10];
int age;
};
//声明结构体类型变量前面必须加关键字struct
struct Part part1;//声明了part结构体类型的变量part1
//结构标记声明和结构变量声明合并
struct Part{
int id;
char name[10];
int age;
}part1;
二、结构类型定义
//定义的新的变量类型Part
typedef struct{
int id;
char name[10];
int age;
}Part;
//声明Part类型变量,不允许书写struct Part
Part part1;
三、结构体初始化
struct Part part1= {1322,“tom”,21};
四、特殊使用场景–链表
struct node{
int data;
struct node *next;//指向下一节点的指针
};
虽然可以选择使用结构标记或type来定义特殊结构类型的名字,但是,结构中如链表含有一个指向相同结构类型的指针成员时(如node),强制使用结构标记,否则无法声明next的类型。