天天看点

39 共用体类型

39 共用体类型

01 什么是共用体类型

一般形式

union 共用体名
{
成员表列
}变量表列;      

结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。而共用体变量所占的内存长度等于最长的成员的长度。

02 引用共用体变量的方式

只有先定义了共用体变量才能引用它,但应注意,不能引用共用体变量,而只能引用共用体变量中的成员。

03 共用体类型数据的特点

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

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

共用体变量中起作用的成员是最后一次被赋值的成员,在对共用体变量中的一个成员赋值后,原有变量存储单元中的值就取代。

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

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

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

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