Re: Liste simplement chainée
Citation:
Envoyé par sorry60
Bon je debute niveau liste chainée, j'ai besoin de m'y exercer avant de continuer mon projet reseau.
C'est la panique !
Ton code commenté mais non corrigé.
Code:
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 28
|
#include "liste.h"
#include <stddef.h>
liste* ajouter(liste *pListe, int valeur)
{
liste nouv;
/* On se positionne à la fin */
/* -ed- etant donne que l'on demarre avec pListe valant NULL, on entre pas ici. */
while(pListe != NULL)
{
pListe = pListe->suivant;
}
/* -ed- tout ca est local. */
nouv.val = valeur;
nouv.suivant = NULL;
/* -ed- l'adresse d'une local ? */
pListe = &nouv;
/* -ed- Mais c'est qu'il la retourne l'animal !!!
Comportement indefini
*/
return pListe;
} |
et
Code:
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 28 29 30 31 32
|
#include "liste.h"
int main()
{
/* notre pointeur sur une liste bientot chainée ! */
/* -ed-
liste* pMaListe = malloc(sizeof(liste));
pMaListe = NULL;
Pourquoi avoir alloue un bloc pour en perdre l'adresse a la ligne suivante ?
*/
liste* pMaListe = NULL;
/* on ajouter un élément ! */
pMaListe = ajouter(pMaListe,0);
/* on regarde si ça marche...*/
if(pMaListe != NULL)
{
printf("Valeur : %d\n",pMaListe->val);
}
else
{
printf("Ta liste est toujours vide idiot...\n");
}
system("Pause");
return 0;
} |
Re: Liste simplement chainée
Citation:
Envoyé par Emmanuel Delahaye
Citation:
Envoyé par sorry60
Bon je debute niveau liste chainée, j'ai besoin de m'y exercer avant de continuer mon projet reseau.
C'est la panique !
Non pas du tout, ce n'est qu'un projet personnel, pas scolaire :wink:
Ok merci pour tes commentaires, je vais les etudier et corriger mon code.