在32位系统中,int *ptr = 0x7fff0000
那么 ptr+8 指向的地址是多少呢 ?
答案是:0x7fff0020
为什么不是 0x7fff0008 呢?
这道题的本质是考察32位系统 int 占的字节数
显然,int占的字节数为 4位,+8 ,相当于加了8个 sizeof(int) ,那么 8*sizeof(int ) = 32
将 32 转化为 16进制,那就是 20
因此得到答案。
同理,如果考察的是 char 类型,那么一个char 类型占 1个字节,那么这就是 ptr+8 所指向的地址 就是 0x7fff0008