printf("%x", *p)
将输出 567890
。12
详细解析
- 内存布局:
long long data = 0x1234567890
在内存中按字节存储为 90 78 56 34 12
(假设是小端序)。
- 指针操作:
char *p = &data
使 p
指向 data
的最低字节 90
。
- 指针偏移:
p += 4
使 p
指向 data
的第5个字节 12
。
- 输出格式:
printf("%x", *p)
以十六进制格式输出 *p
,即 12
。
要点:
- 内存布局:
long long
类型在内存中的存储顺序。
- 指针偏移:指针
p
偏移4个字节后的指向。
- 输出格式:
%x
格式化输出十六进制数。