bonjour ,j ai un probleme avec les pointeurs surtout quand je passe le pointeur a un structure de file
merci de m avooir m expliqué cet exemple

c c est la structure de la pile (pas de probleme)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
typedef struct _pile{
int donnee;
struct pile *precedent;
}Pile;
remplir ma pile

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
void pile_push(Pile **p_pile, int donnee)//pourqoi Pile **p_pile????:cry:
{
        Pile *p_nouveau = malloc(sizeof *p_nouveau);//*p_nouveau???:cry:
        if (p_nouveau != NULL)
        {
                p_nouveau->donnee = donnee;
                p_nouveau->precedent = *p_pile;//ici la comilateur  refus cette ligne
               *p_pile = p_nouveau; 
        }
}
ici pour vider la pile

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
int pile_pop(Pile **p_pile)
{
    int ret = -1;
    if (p_pile != NULL)
    {
        Pile *temporaire = (*p_pile)->precedent;
        ret = (*p_pile)->donnee;  
        free(*p_pile), *p_pile = NULL;
        *p_pile = temporaire;
    }
    return ret;
}

merci de m avoir mexpliqué ???