关于地址存放的例题

unsigned int a = 0x1234;
unsigned char b = *(unsigned char*)&a;

上面代码大端存储和小端存储的值分别是多少?

大端存储的是把高位地址存放在低位地址处,低位存放到高位。小端是高位存放在高位,低位在低位。因为a是整型,所以占4个字节,内存中地址为0x00 00 12 34,如图:

关于地址存放的例题_第1张图片

由图看出小端模式下b的地址值为0x34;大端模式下地址为0x00

关于地址存放的例题_第2张图片

VS编译器是小端存储的模式

你可能感兴趣的:(c语言,算法)