2.1.3 寻址和字节顺序

目录

P29

image
注意一个数字不是8个bit,数字是以十六进制表示的,所以是4个bit.这里的地址单元的大小就是一个字节

P31

image
解释一下这个程序,可以想想为什么有图2-6的输出结果
我们知道:

  • 一个变量有两个特征,这个变量的值和这个变量的地址
    • &x获得的是x的地址,是其在内存中的首字节的地址(比如上图大端中的0x100
    • 同时注意到&x也是变量,所以也有两个特征,它的值就是x的首字节的地址
      • *(&x)表示解释指针&x所指向的地址以及其后面三个字节的值(一共解释四个字节,这是因为&x的类型是int *
      • *((byte_pointer)&x)表示解释指针&x所指向的地址这一个字节的值(一共解释一个字节,这是因为现在已经将&x的类型转化成了unsigned char *了)
  • 注意start是一个指针,所以start[i]等价于*(start+i)

有了上面的解释,不难知道为什么有图2-6的输出结果了

posted @ 2025-07-12 21:55  最爱丁珰  阅读(4)  评论(0)    收藏  举报