Bonjour,
Je voudrais savoir comment faire pour libérer de la mémoire
Merci
Bonjour,
Je voudrais savoir comment faire pour libérer de la mémoire
Merci
Cela dépend de la manière dont tu le déclares.
Normalement, pour chaque "malloc" que tu fais, il doit y avoir un "free".
Mais attention, comme tu manipules des objets pointés par plusieurs pointeurs, il faut faire attention de ne pas désallouer plusieurs fois le même objet...
Tu "déclares" la variable arbre comme ceci :
Mais tu l'utilises comme ça :Envoyé par Premium
"arbre" est un pointeur de pointeurs de type t_cellule, ou un tableau de pointeurs de t_cellule...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if(arbre->NW) libere_arbre(arbre->NW);
Si j'ai bien compris ce que tu souhaites faire, c'est-à-dire se balader dans un arbre, alors utilises des pointeurs de t_cellule, et non des pointeurs de pointeurs... (Je n'en vois pas l'utilité ici)
Je ne vois pas le rapport...Envoyé par Premium
Pour que cela correspondent aux types et aux structures, il faut sans doute écrire quelque chose du genre :Pour pouvoir utiliser un t_cellule **arbre, comment est-ce qu'il faut que j'écrive dans le code, les appels aux champs et à la fonction récursive.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if( (*arbre)->NW ) libere_arbre ( (*arbre)->NW );
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager