C++联合体union用法实例详解

2020-01-06 13:13:54丽君

2)

 

 
  1. union test  { 
  2. int office;  char teacher[5]; 
  3. } a,b; 

3)

 

 
  1. union  { 
  2. int office;  char teacher[5]; 
  3. } a,b; 

经说明后的a,b变量均为test类型。a,b变量的长度应等于test的成员中最长的长度,即等于teacher数组的长度,共5个字节。a,b变量如赋予整型值时,只使用了4个字节,而赋予字符数组时,可用5个字节。

5、如何使用?

对联合变量的赋值,使用都只能是对变量的成员进行。联合变量的成员表示为:

联合变量名.成员名

例如,a被说明为test类型的变量之后,可使用a.class、a.office

不允许只用联合变量名作赋值或其它操作,也不允许对联合变量作初始化赋值,赋值只能在程序中进行。

还要再强调说明的是,一个联合变量,每次只能赋予一个成员值。换句话说,一个联合变量的值就是联合变员的某一个成员值。