voici le code dans un cours sur developpez.comma question ici sur l'argument de la fonction push (**p) , pourquoi deux étoile alors que l'on utilsie à l'intérieur de la fonction juste *p ; et pourquoi une seul étoile ne marche pas vu que l'on veut l'adresse que contient ce pointeur donc on la passe par référence donc comme argument dans push(*p) au lieu de (**p) ou comme copie push(pile p) vu qu'elle contient l'adresse que l'on veut insérer dans la strucuture que l'on va créer . jespère que vous compreniez ce que je veux dire .Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 typedef struct pile { int valeur; struct pile *prec; } pile ; pile *MaPile = NULL; void Push(pile **p, int Val) { pile *element = malloc(sizeof(pile)); if(!element) exit(EXIT_FAILURE); /* Si l'allocation a échouée. */ element->valeur = Val; element->prec = *p; *p = element; /* Le pointeur pointe sur le dernier élément. */ } // dans le main pile *MaPile = NULL; /* Impératif de l'initialiser à NULL */ Push(&MaPile, 10);