动态int指针地址?

时间:2016-12-01 21:18:14

标签: c++

我对显示动态整数的地址感到困惑。 当我输出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;

1 个答案:

答案 0 :(得分:0)

声明

ptr = new int;

在内存中分配整数,并将整数的地址存储在指针变量ptr。

ptr本身是一个变量,并且会有一个与之关联的地址。 所以ptr是一个存储另一个变量地址的变量。 当你这样做

cout << ptr;

您正在打印变量ptr指向的地址。

相比之下

cout << &ptr;

将打印ptr本身的地址,而不是它指向的变量的地址。