1)定义:
1. 数据类型:共用体是一种特殊的数据类型;2. 只有一个有效值:任何时候只能有一个成员的值,是有效值。共用体提供了一种使用相同的内存位置的有效方式。
3. 大小: 以最大的一个数据类型 大小,最为这个共用体的大小;
2)声明:
形式和结构体struct一样
形式和结构体struct一样
union Data
{
int i;
float f;
char str[20];
} data;
sizeof(data)=20;个字节
3)例子: 同一时间只用到一个成员。
例子1.
int main( )
{
union Data data;
data.i = 10;
data.f = 220.5;
strcpy( data.str, "C Programming");
printf( "data.i : %d\n", data.i);
printf( "data.f : %f\n", data.f);
printf( "data.str : %s\n", data.str);
return 0;
}
结果:
data.i : 1917853763
data.f : 4122360580327794860452759994368.000000
data.str : C Programming
列子2:
int main( )
{
union Data data;
data.i = 10;
printf( "data.i : %d\n", data.i);
data.f = 220.5;
printf( "data.f : %f\n", data.f);
strcpy( data.str, "C Programming");
printf( "data.str : %s\n", data.str);
return 0;
}
结果
data.i : 10
data.f : 220.500000
data.str : C Programming