Salut,
Bon je debute niveau liste chainée, j'ai besoin de m'y exercer avant de continuer mon projet reseau.
Donc pour le moment je commence calme : une liste simplement chaînée.
Dont voici la structure :
J'ai écrit, avec un peu de mal, une première fonction qui ajoute un élément en fin de liste, la voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 typedef struct liste { int val; struct liste* suivant; }liste;
Ensuite, une petite main pour tester..
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
19
20
21 #ifdef __cplusplus #error Be sure you are using a C compiler... #endif #include "liste.h" liste* ajouter(liste *pListe, int valeur) { liste nouv; /* On se positionne à la fin */ while(pListe) { pListe = pListe->suivant; } nouv.val = valeur; nouv.suivant = NULL; pListe = &nouv; return pListe; }
Ca compile bien mais fonctionne pas correctement à l'execution.
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
19
20
21
22
23
24
25
26
27 #ifdef __cplusplus #error Be sure you are using a C compiler... #endif #include "liste.h" int main() { /* notre pointeur sur une liste bientot chainée ! */ liste* pMaListe = malloc(sizeof(liste)); pMaListe = NULL; /* on ajouter un élément ! */ pMaListe = ajouter(pMaListe,0); /* on regarde si ça marche...*/ if(pMaListe) { printf("Valeur : %d\n",pMaListe->val); } else { printf("Ta liste est toujours vide idiot...\n"); } system("Pause"); return 0; }
Je ne trouve pas mon erreurValeur : 8
Appuyez sur une touche pour continuer...![]()
Partager