void display(link head)
{
link p;
p=head;
if(p==NULL)
printf("\nlist is empty");
else do
{
printf("%d",p->data);
p=p->next;
}while(p!=NULL);
}
书上说思考为什么要把head设置成p而不是直接用我没看出来为什么 为什么啊?
link是链表的指针
滿天的星座2017-05-16 13:31:38
@任卫 已经说了一种原因,因为我们并不是要用"head"来遍历整个链表。
除了这个原因,我还能想到一个原因,也就是我们需要保留一份"head"。在这个函数中,我们并不需要再次使用"head",但对于其他一些复杂点的函数,我们可能在遍历完链表后还会想用到"head"。如果我们不用"p"而直接用"head"来遍历链表的话,我们就没法再访问头结点了。因此,我们需要保存一份"head"也就是用p = head
,而不是直接用“head”来遍历。