在C语言中,`%p` 是一个格式控制符,用于 输出指针的值。它通常以十六进制形式表示指针所指向的内存地址。在一些编译器中,输出可能会有前缀 `0x`。
使用 `printf` 函数时,可以将 `%p` 与指针变量一起使用,例如:
```c
#include
int main() {
int num = 10;
int *ptr = #
printf("%pn", ptr);
return 0;
}
这段代码会输出指针 `ptr` 的值,即变量 `num` 的地址。输出结果可能类似于 `0x7ffeeb909a9c`,具体值取决于编译器和系统架构。
需要注意的是,`%p` 输出的地址长度与系统的位数有关。在32位系统上,指针通常是4个字节(32位),而在64位系统上,指针通常是8个字节(64位)。使用 `%p` 时,左边的空缺部分会补0,以确保地址的完整显示。


