1:共用体和结构体类似,也是一种构造类型的数据结构。
定义方法:把struct改成union就可以了
在进行一些某些算法时,需要使用几种不同类型的变量存到同一段内存单元中,几个变量所使用的空间相互重叠
这种几个不同的变量共同占用一段内存的结构,在C语言中被称为"共同体"类型结构
共同体所有成员元占有同一段地址和空间,共同体的大小时其占内存长度最大的成员大小
例
tpyedef struct data{
short int i;
char ch;
float f;
}DATA;
DATA temp1;
结构体变量temp1最小占七个字节
例
tpyedef union data{
short int i;
char ch;
float f;
}DATA;
DATA temp2;
共用体temp2占四个字节,即i,ch,f,公用四个字节
2 :共用体的特点
A同一内存段可以用来存放几种不同类型的成员,但是每一瞬间只有一种起作用
B共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员的值会被 覆盖
C共用体变量的地址和他的各成员的地址都是统一地址
D共用体的初始化,union date a={123};初始化共用体只能为第一个成员赋值,不能给所有成员赋值