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);
}
Le livre dit de réfléchir aux raisons pour lesquelles vous devriez vous diriger vers p au lieu de l'utiliser directement. Je ne vois pas pourquoi ?
link est le pointeur de la liste chaînée
head fait quatre caractères de plus que p.
La signification de head fait spécifiquement référence au nœud principal, et le pointeur utilisé lors du parcours de la liste chaînée pointera vers chaque nœud de la liste chaînée. La signification de l'utilisation de head est inappropriée.
@仁伟 a déjà mentionné une raison, car nous ne voulons pas utiliser "head" pour parcourir toute la liste chaînée.
En plus de cette raison, je peux aussi penser à une autre raison, c'est-à-dire que nous devons conserver une copie de "head". Dans cette fonction, nous n'avons pas besoin d'utiliser à nouveau « head », mais pour certaines autres fonctions complexes, nous souhaiterons peut-être utiliser « head » après avoir parcouru la liste chaînée. Si nous parcourons la liste chaînée directement en utilisant "head" au lieu de "p", nous ne pourrons plus accéder au nœud principal. Par conséquent, nous devons enregistrer une copie de "head", qui doit utiliser
p = head
, au lieu d'utiliser directement "head" pour parcourir.