一、结构体的定义
1.结构体是数目固定、类型可不同的数据项组合项组合成的一个有机的整体;每个数据项称为一个成员
2.结构体的定义有两种形式:
(1)定义结构体类型的同时定义变量
struct 结构体类型名{
成员类型 成员名;
} 结构体变量表;
例如
struct student{
char name;
int chinese,math,english;
int total;
}student1 student2;
(2)先定义结构体再定义结构体变量
struct 结构体类型名{
成员类型 成员名;
};
结构体名 结构体变量;
例如
struct student{
char name;
int chinese, math;
int total;
};
student student1 student2;
注:a.成员类型名可以是基本形或构造型;成员名可以与程序中的其他变量重名,互不干扰
b.结构体变量名和结构体名不能相同
c.定义结构体时,系统不分配实际内存;只有定义结构体变量时,系统才分配内存
二、结构体数组
结构体数组的每个数组元素都是结构体类型的数据
1.结构体数组的定义
例如
struct student{
char name[20];
int age;
char adress[30];
}stu[10];
struct student{
char name[20];
int age;
char adress[30];
};
student stu[2]
={{"张三",18,"山东省"},
{"李四",18,"山东省"}};//初始化
注:全部初始化时可省数组维数
结构体数组在内存中连续存放
2.结构体数组元素的引用
引用方式:结构体数组名[下标].成员名
eg.
stu[i].name