c++ 打印指针地址
时间: 2023-07-26 13:07:47 浏览: 64
要打印指针的地址,可以使用 %p 格式控制符,如下所示:
```c++
#include <iostream>
using namespace std;
int main() {
int x = 10;
int *p = &x;
cout << "指针p的地址是:" << p << endl;
return 0;
}
```
输出结果可能是:0x7ffee1e00a4c,具体数值可能因计算机而异。
相关问题
C++打印指针的内容而不是地址值
要打印指针所指向的内容而不是地址值,需要使用 * 运算符。下面是一个示例代码:
```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 来打印这个值。
c++打印指针本身的值
要打印指针本身的值,可以使用`printf`函数配合格式化字符串`%p`,如下所示:
```c++
#include <cstdio>
int main() {
int* ptr = nullptr;
printf("Pointer value: %p\n", (void*)ptr);
return 0;
}
```
这里将指针强制转换成`void*`类型,是为了让编译器正确地解释它。如果不这样做,编译器可能会出现警告。