c++结构体共同体和枚举类型
- 格式:ppt
- 大小:215.00 KB
- 文档页数:36
第十二讲结构体、共用体和枚举类型(C语言)第十二讲结构体、共用体和枚举类型本讲主要介绍C语言中的三种类型的定义和使用,其中两种是构造类型:结构体类型和共用体类型,一种是C语言的基本类型:枚举类型。
要求大家掌握结构体类型、共用体类型和枚举类型的变量的定义,掌握结构体类型和共用体类型变量及其成员的引用等基本操作,理解结构体数组的应用,理解结构体和共用体变量存储形式的不同,了解枚举类型变量的处理方式。
知识要点结构体类型的定义1. 结构体类型定义的一般形式2. 结构体类型定义中的注意事项结构体类型变量1. 结构体类型变量定义的三种方法2. 结构体类型变量的初始化3. 对结构体变量中成员的引用4. 对整个结构体变量的引用结构体数组1. 结构体数组定义的三种方法2. 结构体数组的初始化3. 对结构体数组元素的成员进行引用共用体1. 共用体类型和共用体变量定义的方式2. 共用体变量与结构体变量的区别3. 共用体变量成员的引用4. 共用体变量作为结构体变量的成员枚举类型1. 枚举类型和枚举变量定义的一般形式2. 枚举元素的处理§12.1 结构体类型的定义结构体类型定义的一般形式为:struct 结构体名{类型名1 成员名1;类型名2 成员名2;……类型名n 成员名n;};其中,struct是关键字,是结构体类型的标志。
结构体名是由用户定义的标识符,它规定了所定义的结构体类型的名称。
结构体类型的组成成分称为成员,成员名的命名规则与变量名相同。
§12.2 结构体类型变量一、结构体变量的定义定义结构体类型的变量有三种方法:1.先定义结构体类型,再定义变量。
注意:定义变量时,struct person必须在一起使用,它的用法与int、char等类型名的用法相同。
2.定义类型的同时定义变量。
3.直接定义结构体类型变量,省略类型名。
二、结构体变量的初始化将结构体变量各成员的初值顺序地放在一对大括号中,并用逗号分隔。
C语言——枚举类型定义符——typedef通过typedef创建一个新的类型,并为这个数据类型赋予一个名字,然后这个数据类型就可以再任何被允许的地方使用。
typedef int INTERGER;注意:通过typedef定义的标志符通常采用大写的形式。
例如:typedef char* STRING;STRING stringPtrAry[20];//char* stringPtrAry[20];枚举类型——enum枚举类型是一种基于标准整形类型的自定义类型。
在一个枚举类型中,每一个整形数值都被赋予一个标识符,而这个标识符就被称为枚举常量。
enum typeName{identifier list};关键字标志符枚举常量集合枚举名每一个枚举常量都被赋予一个整形数值。
如果程序员没有明确的位这些标识符赋值,编译器将自动为第一个标识符赋值为0,第二个为1,依次类推。
如果中间有一个元素被赋值,之后的元素值是前一元素值+1。
注意:枚举常量本质是个常量,不能再去定义一个同名的变量。
枚举类型——赋值C语言允许枚举常量赋予枚举常量(必须要是在这个常量前已经定义的枚举常量)和枚举变量、变量。
例如:enum color{RED, BLUE, GUEEN, WHITE};enum color x;x = BLUE;//1x = GUEEN;//2x = YELLOW;//错误,YELLOW不存在枚举变量可以赋予枚举常量,也可以赋予其他的常量,而且相互之间还可以进行运算,但是,C语言中并没有确保给枚举变量的赋值是合法的。
匿名枚举类型——常量如果在创建枚举类型的时候没有指定名字,那么这就是一个匿名枚举类型。
例如:enum {red, blue, green, white};由于枚举类型里的标示符都是常量,因此可以很方便的利用枚举类型声明常量。
C语言——结构体、共用体结构体——struct结构体是具有单一名字的相关元素的集合,而且这些元素可能是不同类型。
第七章结构体、共用体和枚举类型数据1.教学内容:§7.1 结构体类型概述7.1.1 结构体的概念及其定义§7.2 结构体类型变量的定义和引用7.2.1 定义结构体类型变量的方法7.2.2 结构体变量的初始化7.2.3 结构体变量的引用7.2.4 结构体的输入和输出§7.3 结构体数组7.3.1 结构体数组的定义方法7.3.2 结构体数组的初始化7.3.3 结构体数组的引用§7.4 结构体变量作为函数参数以及返回的结构体类型值的函数7.4.1 结构体变量作为函数参数7.4.2 返回的结构体类型值的函数§7.5 结构体变量与指针7.5.1 指向结构体变量的指针7.5.2 指向结构体数组的指针7.5.3 用指向结构体变量的指针作函数参数§7.6 动态存储分配---链表7.6.1 动态存储分配和链表的概念7.6.2 用包含指针项的结构体变量构成结点7.6.3 用于动态存储分配的函数7.6.4 链表应用举例§7.7 共用体类型数据7.7.1 共用体的概念7.7.2 共用体变量的引用7.7.3 共用体变量的应用§7.8枚举类型数据§7.9 用TYPEDEF定义类型2.教学目的及要求:1) 掌握结构体类型的概念和定义方法,结构体变量的定义和引用2) 掌握指向结构体变量的指针变量的概念和应用3) 掌握链表的概念和应用2)掌握共用体类型的概念和应用3)掌握枚举类型的概念和应用3.教学重点:结构体变量的定义和引用,结构体变量与指针,共用体引用第七章结构体、共用体和枚举类型数据§7.1 结构体类型概述7.1.1 结构体的概念及其定义结构体(structure)是一种数据类型,它把互相联系的数据组合成一个整体。
其定义形式:结构体类型不同于基本数据类型,其特点有:⑴由若干数据项组成,每一个数据项都属于一种已有定义的类型。
每个数据项称为一个结构体的成员,也可称为“域”。