联合也是一种数据类型,它是一种特殊形式的变量,和结构体贴非常相似。其定义形式和结构体也类似,主要为:
union 联合名
{
数据类型成员名;
数据类型成员名;
...
}联合变量名;
比如:
union perdata
{
int a;
char ch;
}x,y;
在这里,perdata是联合名,就像int、char一样,之后可以用来定义联合变量;a和ch是这个联合体的成员;x和y是perdata类型的联合变量。
值得注意的是:联合体内几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。比如上面那个联合体的内存大小为4个字节,联合体的内存大小为成员变量中最大数据长度的大小。
这篇博文讲的更清楚:
https://blog.csdn.net/zhengnianli/article/details/98192124