c++中变量的Borland地址

C++ Borland address of the variable

本文关键字:Borland 地址 变量 c++      更新时间:2023-10-16
int main(int argc, char* argv[])
{
        int *pInt;
        int iParam = 423425;
        pInt = &iParam;
        std::cout<<&pInt<<std::endl;
        system("pause");
        return 0;
}

为什么我得到的地址像1250008,而不是像0x00000 ?

返回pInt在虚拟内存中的地址。
它可以是任何地址。编译器可以自由地将指针放置在分配给进程的地址空间中的任何地址上。

如果你想获得hex而不是十进制的地址,你需要像这样使用I/O操纵符:

std::cout << hex << &pInt << std::endl; 

如果执行printf("%x", iParam)语句,存储在iParam中的值被转换为十六进制并打印,但它不会以0X开始。同样的情况也适用于打印地址的情况。不以0X开头