- 2
- 0
- 约3.22万字
- 约 138页
- 2022-09-08 发布于北京
- 举报
►8.1 结构体类型
►8.2 结构体对象
►8.3 结构体与数组
►8.4 结构体与指针
►8.5 结构体与函数
►8.6 共用体
►8.7 枚举类型
►8.8 位域
2
►8.9 用户自定义类型
►8.10 链表
3
► 数组是一种数据形式,其特点是多个相同类型元
素集合起来;
► 结构体是另一种重要的数据形式,其特点是不同
类型成员组合起来。
► 数组和结构体形成了两种风格迥异的聚合方式,
通过它们及其相互组合、相互嵌套的机制可以构造
出复杂的、满足应用要求的自定义数据类型。
4
►C++的结构体允许将不同类型的数据元素组合在一
起形成一种新的数据类型,其声明形式为:
struct 结构体类型名 {
成员列表
};
5
例如可以通过如下声明建立能表示学生信息的数据类型。
struct STUDENT { //学生信息类型
int no; //声明一个整型数据成员表示学号
char name[21]; //声明一个字符串数据成员表示姓名
char sex; //声明一个字符数据成员表示性别
int age; //声明一个整型数据成员年龄
char qq[11]; //声明一个字符串数据成员表示QQ号
double score; //声明一个浮点型数据成员表示成绩
};
6
成员列表可以是任何类型,甚至还可以是结构体类型。
struct DATE { // 日期类型
int year,month,day;
};
struct STAFF {//职工信息类型
int no;
char name[21];
char sex;
DATE birthday;
double salary;
};
7
► C语言的结构体类型只能用 “struct 结构体类型
名”表示,如 “struct STUDENT”。C++兼容C语言
的结构体类型,既可以用C语言方式,又可以直接
用 “结构体类型名”表示,如 “STUDENT”。建议
C++程序员使用后一种方式。
► C++的结构体类型已经超出C语言的结构体类型
的概念,本质上与第9章的类类型相同。本章主要
讨论兼容的C语言的结构体类型。
8
►结构体类型可以表示大型结构的数据对象,数据表
示形式层次更高,因此本书将结构体类型的实体称
为对象,区别于以前的变量。
►定义结构体对象称为结构体类型实例化,实例化会
根据数据类型为结构体对象分配内存单元。
9
►定义结构体对象有三种形式。
► 1.先声明结构体类型再定义对象
结构体类型名 结构体对象名列表; //C++方式
struct 结构体类型名 结构体对象名列表; //兼容的C
语言方式
STUDENT a,b; //C++方式定义结构体对象
struct STUDENT x,y; //C语言方式定义结构体对象
10
►2 .声明结构体类型的同时定义对象
struct 结构体类型名 {
成员列表
} 结构体对象名列表;
►例如:
struct DATE { // 日期类型
int year,month,day; //年,月,日 整型
} d1,d2; //定义结构体对象
原创力文档

文档评论(0)