一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。
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; }
参考链接:https://blog.csdn.net/u010585135/article/details/45172765
原文地址:https://www.cnblogs.com/lfri/p/12420129.html
时间: 2024-10-21 10:54:03