六、联合体
-
理解:联合体类型也是由不同的类型的域构造而成,定义形式与结构类型类似。
-
联合体语法:
union 联合体类型名 { 域定义表 }联合体变量名; 或是: union 联合体类型名 { 域定义表 }联合体变量名={初始值}; 具体如下: union 联合体类型名{ 类型名 联合成员名1; 类型名 联合成员名2; ... 类型名 联合成员名n; }联合体变量名; 注意:联合体变量只能拿初试化第一个联合成员,以{}界定的初始值是第一个域变量的值
-
案例:
union data{ int i; char ch; long lg; }u{100}; // 联合体变量u的域变量i初始化为 100
七、枚举类型
-
理解:枚举是一类个数有限的整型数据。
-
应用场景:设置星期、性别、季节、布尔类型
-
语法:
(1) 语法1: enum 枚举类型名{ 常量列表 } (2) 语法2: typedef enum { 常量列表 }枚举变量; 语法细节: (1) 枚举{}中定义多个符号常量,以逗号隔开,第一个符号常量默认为1,后面依次类推2,3,4.... (2) 枚举常量符号是整型值,可以参与整数运算
-
案例:
(1) 简单的星期的设置操作 #include <stdio.h> enum week{ Mon,Tue,Wed,Thu,Fri,Sat,Sun }; void main(){ enum week x=Mon,y=0; y = x+3; printf("%d",x); printf("%d",y); }