我对显示动态整数的地址感到困惑。 当我输出ptr和& ptr时,我收到两个不同的地址,但我不确定哪个地址正确指向指针的值。
int main()
{
//Setting pointer to null.
int *ptr = NULL;
ptr = new int;
*ptr = 10;
//Displaying value the pointer is pointing to, and the address.
cout << "Value pointing to : " << *ptr << endl;
cout << "Address : " << ptr << endl;
答案 0 :(得分:0)
声明
ptr = new int;
在内存中分配整数,并将整数的地址存储在指针变量ptr。
中ptr本身是一个变量,并且会有一个与之关联的地址。 所以ptr是一个存储另一个变量地址的变量。 当你这样做
cout << ptr;
您正在打印变量ptr指向的地址。
相比之下
cout << &ptr;
将打印ptr本身的地址,而不是它指向的变量的地址。