Segmentation fault sur un free
Résolu
Pauline
-
Pauline -
Pauline -
Bonjour,
Programmant en C, j'ai un char* (contenu dans s->bases un pointeur) que je peux afficher avec "printf("%s", s->bases);" (donc données accessibles). Cependant, "free(s->bases);" me renvoie une Segmentation fault (core dumped).
D'où peut venir cette segmentation fault?
Merci d'avance
Programmant en C, j'ai un char* (contenu dans s->bases un pointeur) que je peux afficher avec "printf("%s", s->bases);" (donc données accessibles). Cependant, "free(s->bases);" me renvoie une Segmentation fault (core dumped).
D'où peut venir cette segmentation fault?
Merci d'avance
A voir également:
- Segmentation fault sur un free
- Word 2013 free download - Télécharger - Traitement de texte
- Zimbra free - Guide
- Free office - Télécharger - Suite bureautique
- Sketchup free - Télécharger - 3D
- Bitdefender free - Télécharger - Antivirus & Antimalwares
5 réponses
Tout simplement car votre pointeur pointe sur une zone en lecture seule. C'est à dire que la désallocation est interdite.
Elle doit aussi être en écriture vu que c'est le même programme, qui précédemment, affecte la valeur à mon pointeur :/.
Je ne pense pas que ça soit en écriture sinon cela ne planterait pas.
Pourrais-tu donner la ligne où tu as défini s->bases ?
--
Google is your friend
Pourrais-tu donner la ligne où tu as défini s->bases ?
--
Google is your friend
strcpy(array_of_seqs->seqs[array_of_seqs->nb_seqs]->bases, other_sequences[i]->bases);
(ceci se trouve dans une boucle)
other_sequence[i]->bases affectés à une chaine de caractères.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ce que je souhaite c'est la définition de la variable pas son affectation.
array_of_seqs->seqs[array_of_seqs->nb_seqs] est une structure contenant le champ bases. Mais le champ bases est définit en tant que :
- char *bases ? Dans ce cas, je souhaite la ligne avec le malloc / calloc
- char bases[X] ?
Cdlt,
array_of_seqs->seqs[array_of_seqs->nb_seqs] est une structure contenant le champ bases. Mais le champ bases est définit en tant que :
- char *bases ? Dans ce cas, je souhaite la ligne avec le malloc / calloc
- char bases[X] ?
Cdlt,