|
|
|
|
Posté par
wlued, le lundi 10 octobre 2005 à 20:48:27Quand tu appeles une fois la fonction insérer, 8 est plus grand que 0 (chez moi la valeur par défaut d'un x dans un noeud fraichement alloué).
Donc premier appel de insérer() avec x=8, il va rappeler insérer sur feuille->droite pour y insérer 8. Donc deuxième appel de inserer(), ici n==NULL (puisque tu n'a pas alloué de place pour feuille->droite précédemment). Donc le "feuille->x=x;" provoque une erreur de segmentation, puisque la place n'a pas été allouée pour ce pointeur de noeud. Donc juste une petite correction:
if (n==NULL)
{
feuille=malloc(sizeof(noeud)); // A rajouter
feuille->x=x;
feuille->gauche=NULL;
feuille->droite=NULL;
} |
J'ai fait la modif et lors de la compilation j'ai implicit declaration of function.
Le pb est p-e basique mais je ne maitrise pas encore trés bien. |
Ah...
Tu pourrais me donner l'erreur complète? Ou au pire, me citer le contenu de la ligne à laquelle se rapporte l'erreur? (si c'est un bout de code que tu n'as pas encore cité, mets tout ton code ici). Tu as bien inclu <stdlib.h> pour le malloc? |
Le message exact est 'warning : implicit declaration of function 'maloc'.
Il porte sur la section suivante : if (n==NULL) { feuille=maloc(sizeof(noeud)); feuille->x=x; feuille->gauche=NULL; feuille->droite=NULL; } En fait je n'ai fait que rajouter cette ligne au programme cité plus haut. J'ai bien inclu le <stdlib.h>.
|
Erf oui effectivement....
Bon l'erreur est réparée et je peux à nouveau compiler mais je récupère également mon segmentation fault. |
Ok le pb est réglé, j'avais 'déplacé ' l'erreur en supprimant le malloc dans mon main. Le pointeur sur structure est alloué dans la fonction mais plus dans le main. Merci à vous. |
| 14/11 12h32 | [Shell] Affichage d'un fichier binaire: Terminal illisible | Shell |
| 27/12 03h01 | [Langage C] C/C++ Erreur de segmentation | Langage C |
| 27/02 15h12 | [Linux] Installer les programmes (gestion des paquets, compil) | Linux |
| 10/07 13h09 | [BSD] Les divers systèmes BSD | BSD |
| 29/05 23h04 | Introduction à la STL en C++ ((standard template library) | Langage C++ |
| 25/11 19h14 | Arbre binaire en C erreur de segmentation | 8 |
| 24/04 09h45 | Arbre binaire | 1 |
| 15/04 20h42 | Arbres binaires | 1 |
| 13/01 17h14 | ARBRES BINAIRES | 4 |
![]() | Binary Clock Screensaver - Le langage binaire est encore mal connu de tous. Cet éditeur a trouvé le moyen d'allier ce langage avec un écran de veille. ... | Catégorie: Personnalisation Licence: Freeware/gratuit |
![]() | Genopro - Genolog est un logiciel de généalogie permettant de construire un arbre généalogique sur plusieurs générations. Il s'agit... | Catégorie: Bureautique Licence: Freeware/gratuit |
![]() | Autopano SIFT - Autopano-SIFT est un logiciel venant en complément de logiciels tels que Hugin afin de permettre de réaliser très... | Catégorie: Retouche photo Licence: Freeware/gratuit |
![]() | PE Builder - PE Builder vous permet de créer un CD-Rom (ou un DVD) bootable (appelé BartPE) de Windows XP (SP1 minimum) ou Windows Server... | Catégorie: Personnalisation Licence: Freeware/gratuit |
![]() | Plantronics H61 Supra Binaural | Catégorie: Casque audio | 106.04 € PriceMinister |
![]() | GN Netcom 2100 Micro | Catégorie: Casque audio | |
![]() | Plantronics CS361N Binaural | Catégorie: Casque audio | |
![]() | Plantronics H101 Polaris Binaural | Catégorie: Casque audio |