c++ - C++/链表中的指针

标签 c++ pointers linked-list

假设在我的链表类中,我保留了一个指向链表头部的指针...

在我编写这段代码时的其中一个成员函数中...

Node *cur = head;
cur = cur->next;

为什么 head 不改变 head->next

如果我写cur = NULL;它会使 head null 吗?

最佳答案

我假设 head 是一个 Node *。在这种情况下,当您说 cur = cur->next 时,您正在更改 cur 指向的位置,但 head 将保持指向列表,因为您没有更改它指向的位置。

Cur----------|
             |
             V       next
Head -----> Item 1--------->Item 2

cur = cur->next 产生以下结果:

Cur--------------------------|
                             |
                     next    V      
Head -----> Item 1--------->Item 2

关于c++ - C++/链表中的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14268659/

相关文章:

c++ - 为什么交换二维数组指针不起作用?

c - 使用双指针访问二维数组元素

c++ - 为什么我不能打印多个字符串?

C# 语法 数据在哪里

c++ - 翻译 C++ 片段

c++ - Boost.Log 在每个日志语句后刷新

c - 我得到 "incompatible pointer type",我不明白为什么

c - 单链表似乎不起作用

c - 从循环链表中释放 malloc 的内存

c++ - 恢复线程上下文并继续执行?