Liste chainées fonction initialisation
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 :
Code:
1 2 3 4 5 6
| typedef struct Element Element;
struct Element
{
int nombre;
Element *suivant;
}; |
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:
1 2 3 4 5
| typedef struct Liste Liste;
struct Liste
{
Element *premier;
}; |
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:
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;
} |
Dans la ligne 3 du dernier code
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 :)