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」來遍歷。