打印链接列表时遍历

时间:2015-12-09 09:15:51

标签: c++ pointers linked-list

我有一个打印链表的功能。代码工作正常。但我理解这个功能有问题。这是函数

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节点的值吗?我没有看到我的问题的合理解决方案。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

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