c语言 如何打印指针自己的内存地址,而不是存放的地址

Python013

c语言 如何打印指针自己的内存地址,而不是存放的地址,第1张

如果是a的地址

printf("%08X\n",p)

其实p就是一个int类型的数据,这里我只是把它当做16进制输出

printf("%d",p)

也是可以的..

不然就跟楼上一样输出

首先你要知道0~2g这个虚拟内存空间是不让打印的,因为是内核保护区域,这个区域的大小和位置与操作系统有关。所以并不是所有地址都可以随便让你打印的~~

如果再允许的情况下:

int i

for(i=0x1000i<=0x2000++i){

printf("%02x ",*(char *)i)

}