我最近开始学习C.这是我使用的第一种语言,我必须自己使用指针。在我的一本书中,有一个例子,作者编写了这段代码:
int x = 4;
printf("X is stored at: %p\n", &x);
他收到了输出0x3E8FA0。当我写完全相同的代码时,我没有得到十六进制数作为地址,就像000000000062FE1C。谁能告诉我为什么?请不要激怒我,我是C的新手。
好吧,正如您对问题的评论所说:那正是一个十六进制地址!它与示例中的不完全相同的原因是编译器没有使用0x
前缀显示它,并且变量的确切位置与您正在阅读的书的作者正在编写的系统中的不同。十六进制数字由集合0,... 9, a,.. f
或0,... 9, A,... F
中的数字组成,分别用于数字0到9和10到15。