![](https://i-blog.csdnimg.cn/blog_migrate/0ec69382315ff36e9a5cdc78f6a19b24.png)
共用同一段内存,所有成员的起始地址一样,
union 共用体类型名(可省略)
{
成员列表
};
![](https://i-blog.csdnimg.cn/blog_migrate/fa874ef2038c7f9cd7143a105b10612f.png)
定义了一个名为。。的共用体类型,联合体
定义结构体类型的变量三种方法
同时定义,先后定义,省略类型名定义
共用同一段内存,首地址相同
共用体类型所占字节数等于占用字节数最多的成员所占字节数
![](https://i-blog.csdnimg.cn/blog_migrate/8be94ebbfcecf622856cf4c90bc57412.png)
不能整体引用
共用体变量名.成员名
同类型成员共享值
高位放高地址,低位放低地址
![](https://i-blog.csdnimg.cn/blog_migrate/96e3b5b55dc4755e89544fa5995d5e42.png)
共用体变量之间可以相互赋值(与结构体一样),赋值
变量地址与成员地址一样
初始化时默认就是给第一个成员赋值,
共用体结构体可以自己相互嵌套,成员也可以是共用体结构体类型
变量不能做函数参数
![](https://i-blog.csdnimg.cn/blog_migrate/0ae00ecc044a3de2a2fa656ffccff140.png)
变量字节数=结构体所占字节数=为所有成员所占字节数之和
![](https://i-blog.csdnimg.cn/blog_migrate/c0387c0bc55db511aabc362bfb0e8764.png)
![](https://i-blog.csdnimg.cn/blog_migrate/522a4df001000810aeab3ebb0960e646.png)