第六章结构和联合.ppt
《第六章结构和联合.ppt》由会员分享,可在线阅读,更多相关《第六章结构和联合.ppt(27页珍藏版)》请在三一文库上搜索。
1、1,数据类型,整型 (int),实型,字符型(char) 布尔型(bool) 空类型(void),数组 结构型(struct) 共用体(union) 枚举(enum) 类(class),C+的基本数据类型,指针,2,第六章 结构体、共用体、 枚举类型,6.1 结构体类型 6.2 共用体类型 6.3 枚举类型,3,一、例子 例:描述5个学生的信息:姓名、学号、性别、年龄、成绩,char num10; char name30; char sex; int age; float score; 不能反映出它们之间的内在联系,不便于管理,1、不能用数组描述 2、分别定义为相互独立的简单变量,需要定义一种
2、能将这些信息组合在一起的新型数据结构 结构类型,4,struct 结构体类型名 类型标识符 成员名1; 类型标识符 成员名2; . 类型标识符 成员名n; ;,在某种情况下,合法标识符可省:无名结构体,成员类型可以是任意类型:基本型或构造型,struct是关键字, 不能省略,结构类型:用户自己指定的一种数据类型,包含若干个类型不同的数据项,结构类型的一般形式:,结构体类型中的成员的数据类型可以不相同。,6.1 结构类型,5,struct date int month; int day; int year; ;,struct man char name15; char sex; int age;
3、 date birthday; ;,说明一个结构类型date,含三个整型数据成员,在此基础上,又可说明另一个结构类型man,birthday,Name,sex,age,year,描述一个人的出生日期:,6,平面上的点:,struct point2 float x; /*横坐标*/ float y; /*纵坐标*/ ; 如考虑空间中的点, 可作如下定义: struct point3 float x; /*X坐标*/ float y; /*Y坐标*/ float z; /*Z坐标*/ ;,7,结构体类型定义时要注意问题:,1)结构体类型的定义是数据类型的定义,不占用内存 2)声明结构体类型的位置一
4、般在文件的开头,在所有函数(包括main)之前,以便所有函数都能利用它来定义变量,当然也可以在函数中声明。 3)结构体类型中的成员的数据类型可以不相同。 每一个成员也叫结构体的域,成员表列称为域表 每一个成员的定义必须要有类型声明 4)注意分号;,8,(1) 在声明类型的同时,定义结构变量 struct 结构体名 成员表列 变量名表列;,例如: struct man char name15; char sex; int age; date birthday; ml;,6.1.2 结构变量定义及初始化,9,(2) 直接定义结构体类型变量 struct 成员表列 变量名表列;,例如: struct
5、 char name15; char sex; int age; date birthday; ml,m3;,10,(3) 先声明结构体类型,再定义变量名 struct 结构体名 成员表列; ; 结构体类型名 变量表列;,例如: struct man char name15; char sex; int age; date birthday; ; man m2,*p=&m2; struct man m3;,11,m2在内存中占: 15+1+4+4+4+4=32(个字节),birthday,struct man char name15; char sex; int age; date birth
6、day; ; man m2,*p=&m2;,m2,结构变量在内存中的存储,结构变量在内存中的大小 =各成员占用内存之和,12,结构变量也允许在定义的同时给出初值,即初始化。 将所有成员的值按顺序逐一列出,并用花括号括起,struct person char name15; char sex; int age; person1=“Fang Min“,F,24;,定义一个结构数组并对其部分元素初始化。,struct person char name15; char sex; int age; s10 =“Fang Min“,F,24, “Fang Hua“,M,35;,结构数组:,13,定义结构类
7、型变量要注意的问题: 不要误认为凡是结构类型都有相同的结构。 (2) 类型与变量是不同的概念。 只能对结构变量中的成员赋值,而不能对结构类型赋值。在编译时,是不会为类型分配空间的,只为变量分配空间。 (3) 对结构中的成员(即“域”),可以单独使用,它的作用与地位相当于普通变量。 (4) 成员可以是一个结构变量。,14,(1) 不能将一个结构体变量作为一个整体进行输入和输出. 如: coutperson1;(错误),6.1.3 结构变量的访问,(2)对结构变量成员的访问,1)普通结构变量的访问 结构变量名.成员名,例如:strcpy(m1.name,”Fang Min”); m1.age=24
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 结构 联合
链接地址:https://www.31doc.com/p-2261728.html