河北建筑工程学院:《c++语言程序设计与实验》第8章 结构体公用体和枚举类型

第八章结构体与共用体 枚举类型 2004年3月 河北建筑工程学院
第八章 结构体与共用体 枚举类型 河北建筑工程学院 2004年3月

迄今为止,我们已详细介绍了基本数据类型如整 型、实型、字符型等,也介绍了一种构造类型的数 据一数组,数组中的各元素是属于同一个类型的。 但在处理实际问题时,经常会遇到复杂的数据,只 有这些数据类型是不够的,还需要将不同类型的数 据组合成一个有机的整体,以便于引用。为了能把 这些有一定逻辑联系的数据组成一个整体,C++语 言提供了一种结构体数据类型本章主要介绍由不同 类型数据组成的构造类型的数据,包括结构体类型 共用体类型和枚举类
迄今为止,我们已详细介绍了基本数据类型如整 型、实型、字符型等,也介绍了一种构造类型的数 据—数组,数组中的各元素是属于同一个类型的。 但在处理实际问题时,经常会遇到复杂的数据,只 有这些数据类型是不够的,还需要将不同类型的数 据组合成一个有机的整体,以便于引用。为了能把 这些有一定逻辑联系的数据组成一个整体,C++语 言提供了一种结构体数据类型本章主要介绍由不同 类型数据组成的构造类型的数据,包括结构体类型 共用体类型和枚举类

8.1结构体类型 用途:把不同类型的数据组合成一个萋体自定 义数据类型 结构体是一种构造数据类型 例如:在指迷学生的基本情况时,一般要用到 学生的掌号、姓名、性别、年龄、成缋、家庭 住址等项。这些项都与某一学生相联系。见囝 8. 学号姓名性别年龄成绩地址 10000彤男 2190北京 图81学生的基本情况
8.1 结构体类型 用途:把不同类型的数据组合成一个整体自定 义数据类型 结构体是一种构造数据类型 例如:在描述学生的基本情况时,一般要用到 学生的学号、姓名、性别、年龄、成绩、家庭 住址等项,这些项都与某一学生相联系,见图 8.1。 100001 王彤 男 21 90 北京 学号 姓名 性别 年龄 成绩 地址 图8.1 学生的基本情况

可以看到学号(num)、姓名(mame、性 别(sex)、年龄age)、成绩( score)、家庭住址 adr)共同描述名为“王彤”的学生,如果将 num、name、sex、age、 score、addr分别定 义为互相独立的简单变量,则难以反映它们之间 的内在联系。应当把它们组织成一个组合项,在 个组合项中包含若干个类型相同或不同的数据 项。C十+语言允许用户指定这样一种数据结构, 称为结构体( structure)它相当于其它高级语 言中的“记录” 使用结构体类型之前,必须先对结构体的组 成进行描述这就是结构体类型的定义。结构体类 型的定义描述了组成结构体的成员以及每个成员 的数据类型
可以看到学号(num)、姓名(name)、性 别(sex)、年龄(age)、成绩(score)、家庭住址 (addr)共同描述名为“王彤” 的学生,如果将 num、name、sex、age、score、addr分别定 义为互相独立的简单变量,则难以反映它们之间 的内在联系。应当把它们组织成一个组合项,在 一个组合项中包含若干个类型相同或不同的数据 项。C++语言允许用户指定这样一种数据结构, 称为结构体(structure)它相当于其它高级语 言中的“记录” 使用结构体类型之前,必须先对结构体的组 成进行描述这就是结构体类型的定义。结构体类 型的定义描述了组成结构体的成员以及每个成员 的数据类型

结构体类型定义 合法标识符 可省:元名结构体 struct[结构体名 类型标识符成员名; 类型标识符成员名; 成员类型可以是 struct是关键字 基本型或构造型 不能省略
结构体类型定义 struct [结构体名] { 类型标识符 成员名; 类型标识符 成员名; ……………. }; 成员类型可以是 struct是关键字, 基本型或构造型 不能省略 合法标识符 可省:无名结构体

类型名,可以用来定 义变量 例 struct student int num; char name 20; char sex: int age; float score: 结构体类型定义描迷结构 char addr 30l; 的组织形式不分配内存 结构体类型定义的作用域
例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; 结构体类型定义描述结构 的组织形式,不分配内存 结构体类型定义的作用域 类型名,可以用来定 义 变量

8.2结构体变量的定义 如果在程序中声明了某个结构体类型后,就可以使它来定 义变量,并且可以对变量进行初始化和使用相应的变量。 通常有三种形式来定义一个结构体类型变量。 1.先定义结构体类型,再定义结构体变量 今一般形式 struct结构体名 类型标识符成员名; 类型标识符成员名 struct结构体名变量名表列;
8.2 结构体变量的定义 如果在程序中声明了某个结构体类型后,就可以使它来定 义变量,并且可以对变量进行初始化和使用相应的变量。 通常有三种形式来定义一个结构体类型变量。 1.先定义结构体类型,再定义结构体变量 ❖一般形式: struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; …………….}; struct 结构体名 变量名表列;

例1 struct student int num char name 201; char sex? int agey float score char addr 30l; 9 struct student stul, stu2
例 1 struct student { int num; char name[20]; char sex; int age; float score; char addr[30];}; struct student stu1,stu2;

N 2#define sTudENT struct student STUDENT int num char name 201; char sex, int age, float score; char addr301; STUDENT stulstu2
例 2 #define STUDENT struct student STUDENT { int num; char name[20]; char sex; int age; float score; char addr[30]; }; STUDENT stu1,stu2;

2.定义结构体类型的同时定义结构体变量 今一般形式 struct结构体名 类型标识符成员名 类型标识符成员名 }变量名表列 例 struct student Int num, char name 20; char sex: int age; float score char addr 30i 3stul, stu2;
2.定义结构体类型的同时定义结构体变量 ❖一般形式: struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }变量名表列; 例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 河北建筑工程学院:《c++语言程序设计与实验》第7章 编译预处理命令.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》第6章 指针.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》第5章 函数.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》第4章 数组.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》第3章 结构化程序设计.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》第2章 基本数据类型、运算符与表达式.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》第1章 C++语言概述.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》第12章 输入输出流.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》第10章 继承与派生.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲义)第一章 计算机文化概论.ppt
- 《2003级信息工程与网络技术》讲义.doc
- 中国人民大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第8章 数据库技术新进展.ppt
- 中国人民大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第7章 关系数据库管理系统实例.ppt
- 中国人民大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第6章 数据库设计.ppt
- 中国人民大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第5章 数据库安全.ppt
- 中国人民大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第4章 关系数据库设计理论.ppt
- 中国人民大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第3章 关系数据库标准语言SQL.ppt
- 中国人民大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第2章 关系数据库.ppt
- 中国人民大学:《数据库系统概论》课程教学资源(PPT课件讲稿)第1章 绪论(主讲:陈红).ppt
- 兰州石化职业技术学院:《微机组装与维护技术》单元13 维护软件的应用.pps
- 河北建筑工程学院:《c++语言程序设计与实验》第9章 面向对象程序设计.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》实验一 顺序结构程序设计.ppt
- 河北建筑工程学院:《c++语言程序设计与实验》习题答案.ppt
- 成都理工大学:《C++语言程序设计》实验一 C 语言简单程序的编写和调试.pdf
- 成都理工大学:《C++语言程序设计》实验三 控制结构.pdf
- 成都理工大学:《C++语言程序设计》实验四 数组.pdf
- 成都理工大学:《C++语言程序设计》实验五 指针.pdf
- 成都理工大学:《C++语言程序设计》实验六 函数.pdf
- 成都理工大学:《C++语言程序设计》实验七 编译预处理.pdf
- 成都理工大学:《C++语言程序设计》实验八 文件.pdf
- 成都理工大学:《C++语言程序设计》实验九 结构体与共用体.pdf
- 成都理工大学:《C++语言程序设计》实验十 图形程序设计.pdf
- 成都理工大学:《C++语言程序设计》实验一 C 语言简单程序的编写和调试.pdf
- 成都理工大学:《C++语言程序设计》实验二 C 语言程序设计基础.pdf
- 成都理工大学:《C++语言程序设计》实验三 控制结构.pdf
- 成都理工大学:《C++语言程序设计》实验四 数组.pdf
- 成都理工大学:《C++语言程序设计》实验五 指针.pdf
- 成都理工大学:《C++语言程序设计》笔试样卷.pdf
- 成都理工大学:《C++语言程序设计》笔试样卷答案.pdf
- 成都理工大学:《C++语言程序设计》机试样卷.pdf