共用体(union)

馋奶兔 提交于 2020-02-18 16:46:53

  在C语言中,当不同数据类型的数据共同占有使用一块内存空间时,这个数据构造类型叫做共用体,也叫联合体。共用体用的地方比较少,使用形式与结构体类似,但是内存使用方式不同。

1--- 定义

union 共用体类型名
{
成员表列;

}变量名1;
union 共用体类型名 变量名2;

2--- 成员共用同一个存储区域,共用体类型变量是以最后一次传递数值为准,之前其他成员所赋的值被覆盖(是不是完全覆盖看成员类型空间大小,如一个4字节int型被1字节char型覆盖掉一个字节,输出的是所覆盖的char型值,剩下的空间也不再访问)。

3--- 共用体中可以定义多个不同数据类型,共用的存储空间大小是以最大的数据类型为准。

4--- 所有成员都从低地址开始存放。

 1 #include <stdio.h>
 2 
 3 union we                //we:共用体类型名
 4 {
 5     int a;
 6     char b;
 7 }u1,u2;               //u1:变量
 8 
 9 
10 int main(int argc, const char *argv[])
11 {
12     u1.a = 177;
13     u1.b = 'a';
14     
15     printf("u1.a = %d\n", u1.a);
16     printf("u2.b = %c\n", u1.b);
17 
18     return 0;
19 }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!