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

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

输出结果为:

AB

6261

从上例结果可以看出: 当给i赋值后, 其低八位也就是first和second的值; 当给first和second赋字符后, 这两个字符的ASCII码也将作为i 的低八位和高八位。

3、如何定义?

例如:

 

 
  1. union test  { 
  2. test() { }  int office; 
  3. char teacher[5];  }; 

定义了一个名为test的联合类型,它含有两个成员,一个为整型,成员名office;另一个为字符数组,数组名为teacher。联合定义之后,即可进行联合变量说明,被说明为test类型的变量,可以存放整型量office或存放字符数组teacher。

4、如何说明?

联合变量的说明有三种形式:先定义再说明、定义同时说明和直接说明。

以test类型为例,说明如下:

1)

 

 
  1. union test  { 
  2. int office;  char teacher[5]; 
  3. };   union test a,b; /*说明a,b为test类型*/