Segmentation fault
Fermé
safasahnoun
-
14 nov. 2012 à 17:08
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 14 nov. 2012 à 23:06
loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 - 14 nov. 2012 à 23:06
3 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
14 nov. 2012 à 17:17
14 nov. 2012 à 17:17
Il te manque un else :
On doit aussi pouvoir faire plus simplement :
void get_pokemons_list(Pokemon_list a)
{
if (a==NULL)
printf ("liste vide");
else
{
printf("[");
while (a->suivant != NULL)
{
printf ("%s,",a->donnee.Nom);
a=a->suivant;
}
printf("%s]",a->donnee.Nom);
}
}
On doit aussi pouvoir faire plus simplement :
void get_pokemons_list(Pokemon_list a) { printf("["); for (;a!=NULL;a=a->suivant) printf ("%s,",a->donnee.Nom); printf("]"); }
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
14 nov. 2012 à 17:50
14 nov. 2012 à 17:50
nouvelliste->donnee = p;
nouvelliste->donnee est de type Pokemon.
Où est réalisée l'allocation ? A moins que tu souhaites faire pointer nouvelliste->donnee vers p, mais dans ce cas, il faut mettre un type pointeur.
nouvelliste->donnee est de type Pokemon.
Où est réalisée l'allocation ? A moins que tu souhaites faire pointer nouvelliste->donnee vers p, mais dans ce cas, il faut mettre un type pointeur.
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
14 nov. 2012 à 23:06
14 nov. 2012 à 23:06
... lors de la compilation il me dit segmentation fault
Ce ne serait pas plutôt à l'exécution ? Sinon, que dit le compilateur ?
voici la parti ou j' ai le problème
Lorsqu'une erreur de programme entraîne une erreur de segmentation (99/100 un pointeur en galère (mal initialisé, utilisé après delete, ...)), il est loin d'être rare que la manifestation de cette erreur se fasse plus tard, voir beaucoup plus tard, voir pas du tout !
Bonne continuation.
Ce ne serait pas plutôt à l'exécution ? Sinon, que dit le compilateur ?
voici la parti ou j' ai le problème
Lorsqu'une erreur de programme entraîne une erreur de segmentation (99/100 un pointeur en galère (mal initialisé, utilisé après delete, ...)), il est loin d'être rare que la manifestation de cette erreur se fasse plus tard, voir beaucoup plus tard, voir pas du tout !
Bonne continuation.
14 nov. 2012 à 17:23
14 nov. 2012 à 17:29