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);
}
Buku itu mengatakan untuk memikirkan mengapa anda perlu menetapkan kepala kepada p dan bukannya menggunakannya secara langsung. Saya tidak faham mengapa.
pautan ialah penunjuk senarai terpaut
kepala adalah empat aksara lebih panjang daripada p.
Maksud kepala merujuk secara khusus kepada nod kepala, dan penunjuk yang digunakan semasa melintasi senarai terpaut akan menghala ke setiap nod senarai terpaut Maksud menggunakan kepala adalah tidak sesuai.
@仁伟 telah menyebut satu sebab, kerana kami tidak mahu menggunakan "kepala" untuk melintasi keseluruhan senarai pautan.
Selain alasan ini, saya juga boleh memikirkan sebab lain, iaitu, kita perlu menyimpan salinan "kepala". Dalam fungsi ini, kita tidak perlu menggunakan "kepala" sekali lagi, tetapi untuk beberapa fungsi kompleks lain, kita mungkin mahu menggunakan "kepala" selepas merentasi senarai terpaut. Jika kami melintasi senarai terpaut secara terus menggunakan "kepala" dan bukannya "p", kami tidak akan dapat mengakses nod kepala lagi. Oleh itu, kita perlu menyimpan salinan "kepala", iaitu menggunakan
p = head
, bukannya terus menggunakan "kepala" untuk melintasi.