- 4
- 0
- 约1.01万字
- 约 42页
- 2017-03-21 发布于湖北
- 举报
结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体-------自定义数据类型 结构体类型定义 结构体 结构体变量的定义 定义结构体类型的同时定义结构体变量 一般形式: 结构体数组的定义: 三种形式: 结构体数组的定义: 三种形式: 结构体数组的定义: 三种形式: 结构体数组初始化 结构体数组初始化 结构体数组初始化 共用体 共用体类型的说明和变量的定义 先定义共用体类型,再定义共用体变量或共用体指针变量。 union 共用体名 { 数据类型标识符 成员名1; 数据类型标识符 成员名2; 数据类型标识符 成员名3; … 数据类型标识符 成员名n; }; union 共用体类型名 共用体变量名表 (或 *共用体指针变量名表); 枚举类型 枚举类型的定义 用typedef定义类型 用typedef定义类型 共用体类型的说明和变量的定义 例如: union uniontype { char ch; int i; float f; }; 上述结构规定了一种名为uniontype的联合体类型,它由三个不同数据类型的成员组成,并且共享同一块内存空间。 例如: union uniontype { int a; char b; float c; double d; }; union uniontype mydata; 共用体类型的说明和变量的定义 例如: union uniontype { int a; char b; float c; double d; } mydata; 共用体类型的说明和变量的定义 (1)结构体和共用体都是由多个不同的数据类型成员组成,但在任何同一时刻,共用体中只存放了一个正在操作的成员,而结构体的所有成员都存在。 (2)对应共用体的不同成员赋值,将会对其他成员重写,原来成员的值就不复存在了,而对结构体的不同成员赋值则互不影响。 结构体与共用体的区别: 枚举类型也是一种数据类型。对于那些只可能取有限的某几种值的数据,可以把它定义为枚举类型数据。所谓“枚举”就是变量在定义时,将它所有可能的取值都一一列举出来。这种在定义时就明确规定变量只可能取哪几个值,而不能取其他值的这类数据类型叫枚举类型。 在解决实际问题中,有些变量的取值被限定在一个有限的范围内。例如一个星期只有七天、一年只有十二个月等。如果把这些量定义声明为整型,字符型或其他类型显然是不妥当的。为此,C语言提供了一种称为枚举的类型,在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型变量的取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。 枚举类型是ANSI C新标准所增加的新的数据类型,如果一个变量只有几种可能的值,可以定义为枚举类型。 枚举类型定义的一般形式为: enum 枚举名{ 元素名1,元素名2,…,元素名n }; 在枚举元素列表中应罗列出所有可用值。例如: enum month{Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec}; //该枚举类型只准取12种值 enum weekday{Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday}; 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。 枚举类型的说明规定该类型只准许取哪几种值,枚举类型的数据在程序编译时并不分配内存,也可以说,说明只规定了枚举的类型,枚举名实际是枚举类型名。上面的month和weekday都是枚举名。 枚举变量的说明 枚举型变量定义的一般形式为: enum [枚举名][{元素名1,元素名2,…,元素名n}]枚举变量名表; 枚举类型变量定义和结构体、共用体变量定义类似,也有三种定义方法,例如下面几种定义形式是合法的: 1.先定义枚举类型,再定义枚举类型变量: enum标识符{枚举数据表}; enum标识符 变量表; 例如: enum weekday{Sun,Mon,Tue} ; enum weekday day; 2.在定义枚举类型的同时定义枚举类型变量: enum标识符{枚举数据表} 变量表; 例如:
您可能关注的文档
最近下载
- InGaAs量子阱材料生长及应变补偿研究.pdf
- 2026年山西通用航空职业技术学院单招职业技能笔试备考题库有答案解析.docx VIP
- 2026年山西通用航空职业技术学院单招职业适应性测试题库及答案详解.docx VIP
- 2026年山西通用航空职业技术学院单招职业适应性测试题库参考答案详解.docx VIP
- 圆形螺旋线圈自感和分布电容的计算.pdf VIP
- 部编人教版五年级下册小学语文全册单元测试卷(含期中期末测试卷).docx VIP
- 平面关节型机械手设计毕业设计.docx VIP
- 临床合理用药解读-质子泵抑制剂的处方和医嘱审核要点解读(PPT课件).pptx VIP
- 2026年山西通用航空职业技术学院单招职业倾向性考试题库含答案详解.docx VIP
- 朗费罗_ppt.ppt VIP
原创力文档

文档评论(0)