un problème de passage de paramétres
Salut ! je veux faire une procédure en C qui défile le premier élément d'une liste chaînée et renvoi ça valeur dans une variable de type entier, sachant que je veux détruire cette élément de la liste âprés avoir récupérer ça valeur.
le probléme c'est que la liste passé en parametre ne change pas, voila le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| struct elt {
int val ;
struct elt *suiv ;
};
typedef struct elt* liste;
void defiler_l_int(liste l,int* x)
{ liste q = l ;
liste p = l;
p=l->suiv;
if(q!=NULL) {*x=q->val;
l=p;
q->suiv=NULL;
free(q);
}
} |
et quand je fais ça:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| void defiler_l_int(liste* l,int* x)
{ liste q = *l ;
liste p = *l;
p=l->suiv;
if(q!=NULL) {*x=q->val;
l=p;
q->suiv=NULL;
free(q);
}
} |
il y a il erreur qui s'affiche pour me dire que
`suiv' has not been declared
dans l'instruction suivante:c'est quoi le problème ! aidez moi svp !