%p是以十六进制输出,可以输出指针的地址,它其实有很多的功能,请看代码:
#include<stdio.h>
int main()
{
int i=17;
int *p;
p=&i;
printf("i的地址为%p\n",&i);
printf("i的内容为%p\n",i);
printf("p的内容为%p\n",p);
printf("p指向内存的内容为%p\n",*p);
printf("p的地址为:%p\n",&p);
printf("这个函数的地址为%p\n",main);
}
运行结果为:
i的地址为0x7fff5fbff77c
i的内容为0x11
p的内容为0x7fff5fbff77c
p指向内存的内容为0x11
p的地址为:0x7fff5fbff770
这个函数的地址为0x100000e70