#include <stdio.h>
union Endian
{
int i;
char c[sizeof(int)];
};
int main(int argc, char *argv[])
{
union Endian e;
e.i = 1;
printf("%d \n",&e.i);
printf("%d,%d,\n",e.c[0],&(e.c[0]));
printf("%d,%d",e.c[sizeof(int)-1],&(e.c[sizeof(int)-1]));
}
输出:
1567599464
1,1567599464,
0,1567599467
LSB 存储在低位地址,MSB 存储在高位地址。这不应该是大端吗?但是我的系统配置将其显示为小端架构。