1、构造数据类型:是根据已定义的一个或多个数据类型用构造的方法来定义。
C语言中的构造类型有:数组类型,结构体类型,共用体(联合)类型
2、结构体:“结构”是一种构造类型,它是由若干个“成员”组成的,每一个成员可以是一个基本数据类型或者又是一个构造类型。结构体把功能相同的数据组织起来,存在一起,在函数调用时,若传递参数较多,传一个结构体就简单很多。
1)、定义:struct 结构名{
成员表列
};
例:struct stu{
int num;
char name[10];
char sex;
float score;
};
注意:结构体定义完成以后,计算机并不会给结构体分配内存空间;会在定义结构体变量后,分配存储空间。
2)、定义结构体类型变量的方法:
先声明结构体类型再定义变量名
格式:struct 结构体名 结构体变量名;
例:struct Student stu1;//一个Student结构体类型的变量,变量名是stu1;因为stu1是Student类型,stu1可以存放学生的学号、姓名、性别、成绩。
struct Student stu2,stu3,stu4,...;//定义多个结构体变量
在什么类型的同时定义变量
格式:struct 结构体名{
成员列表
}结构体变量1,结构体变量2....;
例:
struct stu{
int num;
char name[10];
char sex;
float score;
}stu5,stu6,....;
使用匿名结构体定义结构体变量
struct {
成员列表
}结构体变量1,结构体变量2....;
例:
struct {
int num;
char name[10];
char sex;
float score;
}stu7,stu8,....;
3)、结构体变量的引用:
定义方法:结构体变量名.成员名 //"."是成员(分量)运算符
例:Student.num;//访问结构体的num成员
Student1.bith.month;//嵌套访问
4)、结构体变量的初始化
先定义结构体变量,然后初始化
struct stu{
int num;
char name[10];
char sex;
float score;
}stu1;
stu1.num=001;
定义结构体的同时进行初始化
struct stu{
int num;
char name[10];
char sex;
float score;
}stu2={002,“jun”,“男”,90.00};
定义结构体的同时,还可以指定元素的初始化
例:struct Student stu3={.name="ying"};//只初始化了变量stu3的那么这个成员 |
|