Liste chainée simple..

AntoninMich Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous, je suis débutant en C et j'aimerai simplement créer une liste chainée composée de 3 chainons. Chaque chainon serait composé d'un Nom à afficher et d'un pointeur vers le chainon suivant. Voici mon programme, le problème c'est qu'il ne fonctionne pas :/ Quelqu'un saurait m'en expliquer la cause ?
Merci!

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

struct Cellule
{
char Nom[30];
struct Cellule * PtrSvt;
};
int main()
{
struct Cellule *Ptr=NULL;


int i;
i=0;

while(i < 3)
{

printf("\n Nom ?:");
gets(Ptr->Nom);
printf("%s",Ptr->Nom);
i++;
Ptr=Ptr->PtrSvt=NULL;

}

return 0;
}
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Merci pour la prochaine fois d'utiliser la balise "code c". Exemple :
<"code c">/*ici tu mets ton code*/<"/code"> (sans les guillemets).

gets(Ptr->Nom);
A ne pas utiliser. Il vaut mieux utiliser fgets().

Ptr=Ptr->PtrSvt=NULL;
Que veux-tu faire avec ton =NULL ? C'est en trop.

Sinon, il manque les allocations pour initialiser d'autres noeuds. J'ai l'impression que le principe n'est pas très bien compris. Je te conseille donc la lecture du lien suivant : http://fr.openclassrooms.com/informatique/cours/les-listes-chainees-2

Bon courage.
Cdlt,
0