Bonjour en lisant un cours sur le C , plus particulièrement le chapitre sur les listes chaînes
je ne comprends pas un point :
Tout d'abord on créer une structure qu'on reutiliserat à chaque fois qu'on veut créer un élément de la liste voici :
Ensuite on créer une structure Liste qui nous servira une seul fois pour savoir ou se trouve le premier élément de la liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct Element Element; struct Element { int nombre; Element *suivant; };
Enfin on créer une fonction qui aura pour but de créer la structure de contrôle et le premier élément de la liste
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 typedef struct Liste Liste; struct Liste { Element *premier; };
Dans la ligne 3 du dernier code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Liste *initialisation() { Liste *liste = malloc(sizeof(*liste)); Element *element = malloc(sizeof(*element)); if (liste == NULL || element == NULL) { exit(EXIT_FAILURE); } element->nombre = 0; element->suivant = NULL; liste->premier = element; return liste; }
on créer un pointeur de type Liste qu'on appelle liste et on alloue à ce pointeur un nombre d’octets et c'est le paramètre de sizeof que je ne comprends pas "*liste" c'est un pointeur , mais qui pointe vers quoi , puisque je suis justement entrain de le définir ...c'est un peux flou à ce niveau là
Merci
Partager