- 已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
9小时前关门了。
Improve this question
int* p= NULL;
int** pp = &p;
cout << &p << endl;
cout <<*pp << endl;
我想两者的输出结果应该是一致的,但是第一个输出的是p的地址,第二个是00000000,我想知道为什么。
2条答案
按热度按时间thtygnil1#
您弄错了,
pp
是p
的地址但是
*pp
是pp
所指向的任何东西的值。在本例中,它是p
,其值为NULL
。代码与此代码基本上没有什么不同
唯一的区别是原始值的类型(
int
与int*
)。kiayqfof2#
pp
保存p
的地址,因此打印pp
,而不是*pp
。