Ch7-1自定义数据类型南京大学C语言与数据结构.pdf
文本预览下载声明
Ch7-1 自定义数据类型
1
目录
结构体
联合体
枚举
自定义类型
2
结构体与数组
• 数组用于存储相同意义和相同类型的信息
如:十个学生的姓名
• 结构体用于由多个不同类型的元素所构成的数据
如:学生信息表。
3
结构体及其声明
• 结构体:由成员(名称和成员)构成的联合体
struct 结构体名
{
结构体成员表
} ;
– 结构体的成员可以是各种数据类型
– 结构体的声明一般放在所有函数外,
每个文件的开始位置
– 可以嵌套
4
结构体变量的声明
• 在声明结构体同时声明变量
struct 结构体名
{
结构体成员表
} 结构体变量名表;
• 先声明结构体,后声明结构体变量
struct 结构体名
{ student student1, student2;
结构体成员表
} ;
struct 结构体名 结构体变量名表;
5
结构体变量的初始化
• 初始化格式
结构体名 结构体变量名 ={初始数据} ;
struct stu student1={119001, “张三”, “M”, 82};
6
结构体变量的赋值
• 同类型的结构类型变量可以直接赋值
Employee x, y;
x = y; //Valid
struct A
{ int no;
char name[20];
};
struct B
{ int no;
char name[20];
};
A a;
B b;
a = b; //Invalid 7
结构体变量成员的引用
• 引用格式
结构体变量名 . 成员名
8
例1:设有3个候选人,10个选举人,
每个选举人输入一个候选人姓名,最后输出各人得票数。
9
结构体的存储
• 结构体变量的各个元素依次占用一块连续的内存
空间,结构变量占用的内存大小可以用sizeof
计算。
struct student
id
{
显示全部