V2CE – 8.4 共用体和枚举类型

一、共用体

(1)定义

一般形式

union 共用体名

{成员表列

}变量表列;

结构体变量所占用的内存长度等于最长的成员的长度

(2)共用体的特点

①同一个内存段可以用来存放几种不同类型的成员,但在每一瞬间只能存放其中一个成员而不是几个

②可以对共用体变量初始化,但初始化表中只能有一个常量

③共用体变量中起作用的成员是最后一次被赋值的成员

④共用体变量的地址和它的各成员的地址都是同一地址

⑤不能对共用体变量名赋值,也不能企图引用变量名来得到一个值

⑥以前的C规定不能把共用体变量作为函数参数,但可以使用指向共用体变量的指针作函数参数

⑦共用体类型可以出现在结构体类型定义中,也可以定义共用体数组

二、枚举

(1)定义

一般形式

enum[枚举名] {枚举元素列表};

其中枚举名应遵循标识符的命名规则

注意:

①C编译对枚举类型的枚举元素按常量处理

②每一个枚举元素都代表一个整数,C语言编译按定义时的顺序默认它们的值为0,1,2,3,4…

正文完