一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。

union变量的大小为其中size最大类型的大小。



#include<stdio.h>

union U
{
int a;
char b;
};

int main()
{
union U x;
printf("%d\n", sizeof(x)); // 4

x.a = 97 + (98 << 0xf); // a的assic码是97
//x.b = 'b'; // x.a 会被改

printf("%d %c\n", x.a, x.b); // x.b = 'a', 因为最后一个字节值为97

return 0;
}


  ​


个性签名:时间会解决一切