【发布时间】:2020-11-27 06:42:46
【问题描述】:
struct node {
int data;
node* next;
};
int main()
{
int* p = nullptr;
std::cout << p << std::endl;
node* nu = new node;
std::cout << *&nu << std::endl;
}
问题:nu 是内存地址,指针真的只是内存地址,还是我在这里遗漏了什么。 *nu 有什么意义,这是地址中包含的对象吗,&nu 给了我内存地址本身。如果nu 是一个整数,它会给我一个数字吗?非常感谢您的帮助。
【问题讨论】:
-
这应该包含在任何介绍性文本中。也许尝试其中一种books。
-
*&nu与nu相同。您正在获取nu本身的地址(而不是它所拥有的node的地址),然后取消引用以返回nu本身。所以std::cout << *&nu和std::cout << nu输出相同的东西。