我有一个打印链表的函数。代码运行良好。但我对函数的理解有问题。这是的功能
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
,否则不会更改原始列表。