c++ - Pourquoi les sous-fonctions affichées dans la liste chaînée doivent-elles avoir une variable?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 13:29:38
0
2
630
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

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(2)
習慣沉默

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal