联合是一种数据类型,它能在同一个内存空间储存不同的数据类型(不是同时储存)。典型的用法是,设计一种表以储存即无规律、事先也不知道顺序的混合类型。使用联合的数组,其中的联合都大小相等,每个联合可以储存各种数据类型。
union hold
{
int digit;
double bigfl;
char letter;
};
// 定义与hlod类型相关的变量
union hold fit; // hold类型的联合变量
union hold save[10]; // 内含10个hold类型联合变量的数组
union hold *pu; // 指向hold类型联合变量的指针
用法
fit.dight = 23; // 把23储存在fit,占2字节
fit.bigfl = 2.0; // 清除23,储存2.3,占1字节
fit.letter = 'h'; // 清除2.0,储存h,占1字节
pu= &fit;
x = pu->digit; // 相当于x= pu->digit;
还有匿名联合