Un gors probleme en C
Fermé
ergolo
-
2 févr. 2006 à 14:23
gaby10 Messages postés 445 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 3 février 2013 - 6 févr. 2006 à 10:28
gaby10 Messages postés 445 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 3 février 2013 - 6 févr. 2006 à 10:28
A voir également:
- Un gors probleme en C
- Mode gors ligne - Guide
2 réponses
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
2 févr. 2006 à 17:54
2 févr. 2006 à 17:54
Salut,
1- mettre en global la variable l ne sert à rien
2- insert() peut modifier la valeur du pointeur qui représente l'ancre de ta
liste, donc il faut passer l'adresse de cette variable.
3- utilise toujours la notation -> pour les pointeurs, c'est plus lisible
Insert devient :
Et main :
A+, crabs
1- mettre en global la variable l ne sert à rien
2- insert() peut modifier la valeur du pointeur qui représente l'ancre de ta
liste, donc il faut passer l'adresse de cette variable.
3- utilise toujours la notation -> pour les pointeurs, c'est plus lisible
Insert devient :
void insert( liste **pt,int val){ liste *l1,*l2;int i; l1=(liste *)malloc(sizeof(liste)); if(l1==NULL) { printf("\tpas de place \n"); return ; } l1->info=val; l1->suiv=NULL; if(*pt==NULL) *pt=l1; else { /* recherche le dernier élément de la liste */ for(l2=*pt; l2->suiv; l2=l2->suiv) ; /* le ; est important ... */ l2->suiv=l1; } printf("\t\tElement insere\n"); }
Et main :
int main(){ liste* l ; int elt; /* je vois pas la saisie ou l'init pour l'insert... */ clrscr(); insert(&l,elt); affiche(l); getch(); return 1; }
A+, crabs
gaby10
Messages postés
445
Date d'inscription
vendredi 25 novembre 2005
Statut
Membre
Dernière intervention
3 février 2013
57
6 févr. 2006 à 10:28
6 févr. 2006 à 10:28
Merci Cracks,