我最近开始学习C。这是我必须亲自处理指针的第一门语言。在我所拥有的书中,有一个示例,其中作者编写了以下代码:
int x = 4;
printf("X is stored at: %p\n", &x);
他收到了输出0x3E8FA0。 当我编写完全相同的代码时,我没有得到十六进制数字作为地址,就像000000000062FE1C这样。谁能告诉我为什么?而且请别惹我,我是C的新手。
答案 0 :(得分:0)
好吧,正如您对问题的评论所言:这正是一个十六进制地址!之所以与示例中的代码不完全相同,是因为编译器没有显示带有0x
前缀的变量,并且该变量的确切位置与您所著书的系统中的名称不同。正在阅读,正在写作。十六进制数字由0,... 9, a,.. f
或0,... 9, A,... F
组中的数字组成,分别代表数字0到9和10到15。