gpt4 book ai didi

c++ - 为什么下面的runner指针没有变为null?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:09:02 25 4
gpt4 key购买 nike

为什么runner指针没有改成null?

Node* runner = head->next;
Node* reversedList = head;
reversedList->next = nullptr;

但在下面,它确实变为null

Node* reversedList = head;
reversedList->next = nullptr;
Node* runner = head->next;

最佳答案

在你发出下面的声明之后

Node* runner = head->next;

'runner' 指向由'next' 指向的地址内存(假设它是地址 0x6543)。

(head->next) ------> content <----(runner)

下面两行:

Node* reversedList = head;

reversedList->next = nullptr;

因此,'next' 现在指向 NULL,但是 'runner' 仍然指向之前由 'next' 指向的地址,即 0x6543。

(head->next) --> NULL |内容<--------(亚军)

第二个示例之所以有效,是因为首先您将 head->next 指向 NULL,然后您将 'runner' 指向 head->next,现在它是 NULL。由于“head”和“reversedList”都指向相同的地址,第二个示例——没有 reversedList——将是:

head->next = nullptr; 

Node* runner = head->next;

关于c++ - 为什么下面的runner指针没有变为null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32162586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com