打印链表时遍历

traversal while printing linked lists

本文关键字:遍历 链表 打印      更新时间:2023-10-16

我有一个打印链表的函数。代码运行良好。但我对函数的理解有问题。这是的功能

void print(node* x)
{
    while(x != NULL)
    {
        cout << x -> info << " ";
        x = x -> next;
    }
}

其中node结构是

struct node
{
    int info;
    node *next;
};

x = x -> next这句话让我很困惑。它不会把x的值改成它的next节点的值吗?我认为我的问题没有一个合理的解决办法。如有任何帮助,我们将不胜感激。

node *x将x定义为一个指针,实际上它只是一个存储一些内存地址的值。

除非执行x->next->field = VALUE,否则不会更改原始列表。