C语言中的union
一:
C语言中的union在语法上与struct相似
union只分配最大成员的空间,所有成员共享这个空间
example:——————————————————————————————————————————————
struct A
{
int a;
int b;
int c;
}; int main()
union B ----------------> {
{ ----------------> printf("%d\n", sizeof(struct A)); //12
int a; printf("%d\n",sizeof(union B)); //4
int b; return 0;
int c; }
};
————————————————————————————————————————————————————
二:
union的使用受系统大小端的影响
(小端模式:低地址存储低位数据,大端模式:低地址存储高位数据)
example:——————————————————————————————————————————————
union C
{
int i;
char c; // c从低地址上面取数据
};
union C c;
c.i = 1;
printf("%d\n", c.c); //小端模式:1 , 大端模式:0
————————————————————————————————————————————————————
三:
编程判断大小端
result: 小端模式