![390b8e97cbb263c41dac39e73bc00d4b.png](https://img-blog.csdnimg.cn/img_convert/390b8e97cbb263c41dac39e73bc00d4b.png)
好看的D.VA快不够了,下次换个妹子吧
联合体定义:
将几种不同类型的变量存放到同一段内存单元中的数据结构方式。
声明:
union 共用体名 {
成员列表
};
eg:
union data {
double a;
int b;
char c;
};
使用场景和意义:
说到联合体(union)的意义就不得不提结构体(struct),因为这两者定义形式完全相同。
两者差别:结构体结构体的各个成员会占用不同的内存块,互相之间没有影响;而联合体的所有成员占用同一段内存块,修改其中一个成员会对整个内存块保存的值产生影响。
那么既然公用一块内存,想必大家都知道它的意义了。就是省内存。应用场景就是在内存比较吃紧的设备或者任务下使用,例如:单片机。
一、实用举例:
#include <stdio.h>
#include<string.h>
typedef union {
double a;//8byte