Free(*ptr) en c
Résolu/Fermé
Scoleproj
Messages postés
231
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 août 2022
-
11 déc. 2010 à 20:54
Scoleproj Messages postés 231 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 août 2022 - 11 déc. 2010 à 21:55
Scoleproj Messages postés 231 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 août 2022 - 11 déc. 2010 à 21:55
A voir également:
- Free(*ptr) en c
- Free music mp3 - Télécharger - Conversion & Extraction
- Zimbra free - Guide
- Free mon compte facture - Astuces et Solutions
- Free tv player - Télécharger - Télévision
- Sketchup free - Télécharger - 3D
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
11 déc. 2010 à 21:04
11 déc. 2010 à 21:04
Bonjour,
Non, il n'y a pas de fonction.
Et il n'y en a pas besoin.
Le probleme est qu'apres avoir supprimer les noeuds de l'abre,l'abre devient pas null mais pointe sur une zone mémoire aléatoire
C'est vrai, c'est pour ça qu'il est conseillé de mettre soi-même l'arbre à NULL.
Ainsi, il n'y a plus de problèmes ;-))).
Non, il n'y a pas de fonction.
Et il n'y en a pas besoin.
Le probleme est qu'apres avoir supprimer les noeuds de l'abre,l'abre devient pas null mais pointe sur une zone mémoire aléatoire
C'est vrai, c'est pour ça qu'il est conseillé de mettre soi-même l'arbre à NULL.
Ainsi, il n'y a plus de problèmes ;-))).
Scoleproj
Messages postés
231
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 août 2022
26
11 déc. 2010 à 21:16
11 déc. 2010 à 21:16
Merci pour ta reponse,le truc est que je supprimais l'arbre de manière récursif et donc en faisant arbre=NULL l'algo s'arrete sans supprimer tous les noeuds.
Bon pour remédier a ca,j'ai fais une autre fonction qui appelait supprimer_arbre,puis a la sortie de ce programme je fais pointer arbre sur NULL,et pour l'instant ca marche.
Thx fiddy!!!
Bon pour remédier a ca,j'ai fais une autre fonction qui appelait supprimer_arbre,puis a la sortie de ce programme je fais pointer arbre sur NULL,et pour l'instant ca marche.
Thx fiddy!!!
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
11 déc. 2010 à 21:32
11 déc. 2010 à 21:32
Bon pour remédier a ca,j'ai fais une autre fonction qui appelait supprimer_arbre,puis a la sortie de ce programme je fais pointer arbre sur NULL,et pour l'instant ca marche.
Oui, bien sûr, c'est comme ça qu'il faut faire ;-))).
D'une manière générale, dès que tu fais un free, initialise ta variable à NULL.
Par exemple dans ton cas :
Et dans ta fonction suppression, lorsque tu parcours l'arbre mets des free également sur toutes les désallocations.
Cdlt,
Oui, bien sûr, c'est comme ça qu'il faut faire ;-))).
D'une manière générale, dès que tu fais un free, initialise ta variable à NULL.
Par exemple dans ton cas :
suppression(arbre); arbre=NULL;
Et dans ta fonction suppression, lorsque tu parcours l'arbre mets des free également sur toutes les désallocations.
Cdlt,
Scoleproj
Messages postés
231
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
8 août 2022
26
11 déc. 2010 à 21:55
11 déc. 2010 à 21:55
Yep ok,c'est ce que j'ai fais :)
Merci a toi daddy fiddy ^^
Merci a toi daddy fiddy ^^