C ++ Borland变量的地址

时间:2011-10-28 08:22:17

标签: c++ variables c++builder

int main(int argc, char* argv[])
{
        int *pInt;
        int iParam = 423425;
        pInt = &iParam;
        std::cout<<&pInt<<std::endl;
        system("pause");
        return 0;
}

为什么我的地址如1250008而不是像0x00000?

2 个答案:

答案 0 :(得分:4)

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

如果您的意思是获取hex而非小数的地址,则需要使用 I/O Manipulator ,如下所示:

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

答案 1 :(得分:0)

如果执行语句printf(“%x”,iParam),iParam中存储的值将转换为十六进制并打印,但不会以0X开头。在打印地址的情况下也是相同的情况。它不是以0X开头。