结构体与数据结构基础
一、struct为关键字不可省略,结构体名可以省略
struct [结构体名]
{
类型标识符 成员名1;
类型标识符 成员名2;
…………….
};
二、结构体类型定义仅描述结构体的组成,不分配内存空间
三、1、struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }变量名表列;
2、struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }; struct 结构体名 变量名表列;
其中变量名列表才是真正的变量
注:用无名结构体直接定义变量只能一次
四、typedef关键字的用法
typedef struct date
{ int month;
int day;
int year;
}DATE;
struct student
{ int num;
char name[20];
DATE birthday;
}stu1,stu2;
五、结构体变量的初始化
1、struct 结构体名 { 类型标识符 成员名1; 类型标识符 成员名2; ……………. }; struct 结构体名 结构体变量={初始数据};
2、struct 结构体名
{ 类型标识符 成员名1;
类型标识符 成员名2;
…………….
} 结构体变量={初始数据}
3、struct
{ 类型标识符 成员名;
类型标识符 成员名;
…………….
}结构体变量={初始数据};
六、结构体指针变量引用成员行式
以下三种形式等价:
结构体变量名.成员名 stu.num =101;
(*结构体指针名).成员名 (*p).num=101
结构体指针名->成员名 p->num =101