C++之联合体union

来源:互联网 发布:frontpage下载qc软件 编辑:程序博客网 时间:2024/06/13 23:06

有时需要使几个不同类型的变量共用同一组内存单元,这时可以声明一个联合体.

1、联合体声明的语法形式:

union 联合名{

     数据类型1 成员1;

数据类型2 成员2;

     ...

数据类型n 成员n;

};

2、联合体类型变量声明的语法形式:联合名 变量名; 

3、联合体类型变量的引用形式:联合变量名.成员名;

4、联合体uarea类型变量所占存储空间大小应满足:

  • 大小足够容纳最宽的元素
  • 大小能够被其包含的所有基本数据类型的大小所整除

例如,有联合体类型声明如下:

union uarea{    char c_data;    short s_data;    long l_data;};uarea x, y, z;x.c_data = '1';y.s_data = 10;z.l_data = 1234567890;

在uarea中,long型的l_data所占的内存最大,所占联合体所占内存大小应与l_data所占大小相同。在使用联合体时,只能使用其中的某一个成员.



                                             
0 0