首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c++程序打印地址而不是值

C++程序打印地址而不是值是因为在C++中,指针变量存储的是内存地址,而不是实际的值。当我们使用cout语句打印指针变量时,默认情况下会打印出指针变量所指向的内存地址。

要打印指针变量所指向的值,我们需要使用解引用操作符*来获取指针指向的实际值。下面是一个示例代码:

代码语言:txt
复制
#include <iostream>

int main() {
    int num = 10;
    int* ptr = &num; // 指针变量ptr存储了num的地址

    std::cout << "指针变量ptr的值(地址): " << ptr << std::endl;
    std::cout << "指针变量ptr所指向的值: " << *ptr << std::endl; // 解引用操作符获取指针指向的值

    return 0;
}

输出结果为:

代码语言:txt
复制
指针变量ptr的值(地址): 0x7ffeeb3b6a4c
指针变量ptr所指向的值: 10

在上述示例中,我们定义了一个整型变量num,并使用&运算符获取了num的地址,并将其赋值给指针变量ptr。然后,我们使用cout语句分别打印了指针变量ptr的值(即地址)和指针变量ptr所指向的值(通过解引用操作符*获取)。

需要注意的是,打印指针变量时,输出的是十六进制的地址值。如果想要以十进制形式打印地址,可以使用reinterpret_cast进行类型转换,如下所示:

代码语言:txt
复制
std::cout << "指针变量ptr的值(地址): " << reinterpret_cast<long long>(ptr) << std::endl;

希望这个答案能够满足您的需求。如果您需要了解更多关于C++编程或其他云计算相关的知识,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的结果

领券