non, comme je l'ais dit, tu peux faire appel à g_tree_new_full(),
cette fonction te crée un b-tree vide, tu lui donne en paramètre les fonctions chargées de désallouer la mémoire pour toi.
pour désallouer la mémoire d'une chaine de caractère, tu fait appel à g_free(memoire_a_desallouer). donc pour qu'il te désalloue la mémoire allouée pour des chaines de caractère pour la clé et les données, tu fais :
g_tree_new_full(strcmp,NULL,g_free,g_free);
quand tu fera appel à g_tree_destroy(), pour chaque noeuds il videra la mémoire pour toi.
[^] # Re: normal
Posté par ecyrbe . En réponse au message Glib et les Binary Trees. Évalué à 2.
cette fonction te crée un b-tree vide, tu lui donne en paramètre les fonctions chargées de désallouer la mémoire pour toi.
pour désallouer la mémoire d'une chaine de caractère, tu fait appel à g_free(memoire_a_desallouer). donc pour qu'il te désalloue la mémoire allouée pour des chaines de caractère pour la clé et les données, tu fais :
g_tree_new_full(strcmp,NULL,g_free,g_free);
quand tu fera appel à g_tree_destroy(), pour chaque noeuds il videra la mémoire pour toi.