内存地址存储了多少字节?

时间:2014-03-25 19:26:37

标签: memory gdb character byte

我对以下gdb输出很困惑。我正在调试处理文本文件的程序。文件中的第一个单词是""并且gdb输出如下所示:

"该":

(gdb) p *(char*)0x7fffffff9d30
$12 = 84 'T'

(gdb) p *(char*)0x7fffffff9d34
$13 = 104 'h'

(gdb) p *(char*)0x7fffffff9d38
$14 = 101 'e'

一个字符是一个字节,所以当我增加' T'按8位我应该找到' h'那里。但是地址是' h'是只有4位更远。我在这里缺少什么?

没有意识到这些是Wchar_t(宽字符)。

1 个答案:

答案 0 :(得分:0)

FWIW,在这种情况下你可能想要使用" x"命令转储内存。这可以避免由类型和操作符引起的任何混淆。