Construction d’une liste Dummy node

Bonjour,
j'ai le code suivant :
#include <stdio.h>
struct Element { int numero;
struct Element *suivant;
} dummy, *noeud;
void main(){int i;
dummy.suivant = NULL;

noeud = &dummy;
for (i=0;i<=10;i++)

{
noeud->suivant = (struct Element *) malloc(sizeof(struct Element));
noeud = noeud->suivant;

noeud->numero = i;

noeud->suivant = NULL;
}

noeud = dummy.suivant;
while (noeud)
{printf("%d", noeud->numero);
noeud = noeud->suivant;

}getch();}
l'utilité de ce code c'est de construire une liste chainée ordonnée,le problème que je comprends pas la ligne écrite en gras ,et donc j'ai pas pu comprendre le raisonnement sur le lequel se base la construction de la liste chainée
merci d'avance
Configuration: Windows Vista
Firefox 3.5.6

2 réponses

  1. Salut,
    #include <stdio.h>
    
    typedef struct Element
    {
    int numero;
    struct Element *suivant;
    } noeud;
    
    void main()
    {
    int i;
    noeud*noeu=(noeud *) malloc(sizeof(noeud));//creation du 1er noeud
    noeu->numero=0;//affectation de sa valeur
    noeud*first=noeu;//sauvegarde l'adresse du premier noeud pour l'affichage plus tard
    for (i=1;i<=10;i++)
    {
        noeu->suivant = (noeud*) malloc(sizeof(noeud));//création du prochain noeud
        noeu = noeu->suivant;//le noeud courant devient le noeud crée precedemment
        noeu->numero = i;//affectation de la valeur
        noeu->suivant = NULL;
    }
    while (first!=NULL)
    {
        printf("%d\n", first->numero);
        first= first->suivant;
    
    }
    getchar();
    
    }

    J'espere que cela pourra t'aider un peu...
    @+