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:
et quand je fais ça:
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
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); } }il y a il erreur qui s'affiche pour me dire que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
`suiv' has not been declared
dans l'instruction suivante:c'est quoi le problème ! aidez moi svp !
Code : Sélectionner tout - Visualiser dans une fenêtre à part p=l->suiv;
Partager