关于大小端的解释:这里,解释的挺清楚。
测试代码:
#include <iostream>
using namespace std;
int main()
{
union MyUnion
{
char c[4];
int s;
} ;
union MyUnion a;
a.s = 0x90AB12CD;
for(int i=0;i<4;i++)
{
cout << "address: 0x" << hex << (int)&(a.c[i])<< ", value: 0x" << hex << (short)a.c[i] << endl;
}
return 0;
}