#include <stdio.h>
int main(int argc, char** argv)
{
union
{
short i;
struct
{
char a;
char b;
}str;
}uni;
uni.i = 0x4241;
printf("%c%c\n", uni.str.a, uni.str.b);
uni.str.a = 'a';
uni.str.b = 'b';
printf("%x\n", uni.i);
return 0;
}
在union中,所有的成员共用一块存储空间
程序编译运行之后输出为:
AB
6261
很显然,我们对union中的某个成员进行的操作能够影响到其他成员。
referer http://blog.csdn.net/iamiwangbo/article/details/53395254