c++ 打印指针地址
76浏览 · 2023-07-26 08:07:47
要打印指针的[地址]([http]([http](https://geek.csdn.net/educolumn/68f28ca3131d47699e5902c5d3d74d51?spm=1055.2569.3001.10083)s://geek.csdn.net/educolumn/68f28ca3131d47699e5902c5d3d74d51?spm=1055.2569.3001.10083)s://geek.csdn.net/educolumn/14a4193cfe4be4597b0afe7044078e22?spm=1055.2569.3001.10083),可以使用 %p 格式控制符,如下所示:
```c++
#include <iostream>
using namespace std;
int main() {
int x = 10;
int *p = &x;
cout << "指针p的[地址](https://geek.csdn.net/educolumn/14a4193cfe4be4597b0afe7044078e22?spm=1055.2569.3001.10083)是:" << p << endl;
return 0;
[输出](https://geek.csdn.net/educolumn/5cd6786a0b73a4d4d27fd638d84e2587?spm=1055.2569.3001.10083)结果可能是:0x7ffee1e00a4c,具体数值可能因计算机而异。
相关问题
要打印指针所指向的内容而不是地址值,需要使用 * 运算符。下面是一个示例代码:
```c++
#include <iostream>
int main() {
int x = 42;
int *p = &x;
std::cout << *p << std::endl; // 打印指针 p 指向的内存地址中的值
return 0;
在上面的代码中,我们先定义了一个整数变量 x,并且通过 & 运算符获取了它在内存中的地址,将其赋值给指针 p。然后,通过 *p 来获取指针 p 指向的内存地址中的值,即 x 的值。最后,使用 std::cout 来打印这个值。
要打印指针本身的值,可以使用`printf`函数配合格式化字符串`%p`,如下所示:
```c++
#include <cstdio>
int main() {
int* ptr = nullptr;
printf("Pointer value: %p\n", (void*)ptr);
return 0;