Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;变量的Borland地址 intmain(intargc,char*argv[]) { 整数*品脱; int iParam=423425; 品脱=&iParam; std::cout_C++_Variables_C++builder - Fatal编程技术网

C++ C++;变量的Borland地址 intmain(intargc,char*argv[]) { 整数*品脱; int iParam=423425; 品脱=&iParam; std::cout

C++ C++;变量的Borland地址 intmain(intargc,char*argv[]) { 整数*品脱; int iParam=423425; 品脱=&iParam; std::cout,c++,variables,c++builder,C++,Variables,C++builder,它返回pInt位于虚拟内存中的地址。 它可以是任何地址。编译器可以将指针放在分配给进程的地址空间中的任何地址上 如果您想用十六进制而不是十进制来获取地址,则需要像这样使用: int main(int argc, char* argv[]) { int *pInt; int iParam = 423425; pInt = &iParam; std::cout<<&pInt<<std::endl;

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

如果您想用十六进制而不是十进制来获取地址,则需要像这样使用

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

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

你说的“不像0x00000”是什么意思为什么它不是十六进制,或者为什么不是0?那么asnWER相当简单——因为地址只是一个数字,默认情况下,C++将数字打印成十进制。所以,你需要使用I/O操作器,就像@ Als在答案中指出的那样。
std::cout << hex << &pInt << std::endl;