如何确定指针指向的地址? (理论)

how to determine the address pointed to by a pointer? (theory)

我有这个问题:

let a double pointer "ptr" point to this address: "0xb786ff12". if I write the following line: ptr + 4. say the final address to which ptr points to.

我的尝试: 因为ptr是一个32位的双精度指针,它有8个字节;因此,我必须使用十六进制进行计数,如下所示: (从 12 开始)

13、14、15、16、17、18、19、1a(第一组 8 个字节)

1b、1c、1d、1e、1f、21、22、23(第二组 8 个字节)

24、25、26、27、28、29、2a、2b,(第三组 8 个字节)

2c, 2d, 2e, 2f, 31, 32, 33, 34(第四组 8 个字节)

但是不正确,因为最后的结果一定是0xb786ff32,32,不是34。

我知道这很明显,但我个人觉得有点棘手。

你数错了!见下文:

13、14、15、16、17、18、19、1a(第一组 8 个字节)

1b、1c、1d、1e、1f、20、21、22(第二组 8 个字节)

23、24、25、26、27、28、29、2a,(第三组 8 个字节)

2b, 2c, 2d, 2e, 2f, 30, 31, 32(第四组8字节)

#f 后跟 (#+1)0,而不是 (#+1)1,如您的顺序(1f 后跟 21,2f 后跟 31)