c语言输出十六进制

来源:百度知道 编辑:UC知道 时间:2024/05/12 09:20:28
#include<stdio.h>
int main()
{ int k;
int *kptr;
k=7;
kptr=&k;
print("k的地址是 %x \n kptr的值是 %x",&k,kptr);
return 0;
}

程序在运行以后输出:
k的地址是 12ff7c
kptr的值是 12ff7c

我不明白这个地址怎么会这样表示的,请高手讲一讲关于以十六进制怎样输出变量的地址????上题为什么是12ff7c????,我是真的不懂这个???

输出的变量地址是内存地址,十六进制的地址也是符合十六进制的。值跟地址是一致的。因为题中“kptr=&k;”,所以K的地址就是kptr的值。

这个值你不需要太计较,你只需要明白指针以及变地址的概念就差不多了,
只有在多个地址之间比较高低的时候,这个值才是有意义的
一个地址的值大于另一个地址值说明这个地址代表的变量在较高的内存位置上

和你的内存和编译器有关!

至于地址的值是啥,这个真不一定