联合体并不重是后赋值的覆盖前赋值的
当联合体里有数组时,比如:
#include <bits/stdc++.h>
using namespace std;
int main() {
union {
unsigned char a1;
unsigned int a2[2];
}c;
c.a2[0]=0x31;
c.a2[1]=0x32;
cout<<c.a1<<endl;
return 0;
}
c.a1会被数组的第一个元素即c.a2[0]覆盖,而不是被最后赋值的c.a2[1]