c++ - 指针地址

标签 c++

我是编程新手。我有一个问题,我自己找不到可以理解的答案。我想用 C++ 和 C 找到指针的地址,但是两个结果不同,尽管它们有一些相似的数字。他们还是同一个地址吗?

adress of g is :0018F9C4
address of g is: 0018F9D3

这是我的代码:

#include<iostream>
#include<stdio.h>
void main()
{
    char g = 'z';
    char*p;

    p = &g;

    std::cout << "adress of g is :" << &p;
    printf("\naddress of g is: %p", p);
}

最佳答案

这一行显示的地址 p

std::cout << "address of p is :" << &p;

这一行显示地址p,即地址of g

printf("\naddress of g is: %p", p);

有不同的结果是正常的。

尝试

std::cout << "address of g is :" << static_cast<void*>(p);
printf("\naddress of g is: %p", p);

关于c++ - 指针地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35864098/

相关文章:

c++ - 调用另一个翻译单元中专门的功能模板

c++ - C++ 表达式中什么时候会发生隐式强制转换?

c++ - 如何使可插拔工厂与lua一起工作?

c++从内存中使用ifstream

c++ - Qt C++ LNK2019 : unresolved external symbol using QNetworkAccessManager

C++(半)文件保存/加载的反射? (黑客?)

c++ - 嵌套循环创建美国国旗

c++ - bgl 中的 edge_descriptor 映射

c++ - 如何存储 vector 的大小

C++:如何以编程方式在 Windows 凭据管理器中创建本地用户登录凭据,以便 "runas/savecred"可以使用它?