Bonjour,
pour désallouer un pointeur on utilise la fonction free(), mais comment désallouer un pointeur de pointeur ?
merci de votrer réponse,![]()
Bonjour,
pour désallouer un pointeur on utilise la fonction free(), mais comment désallouer un pointeur de pointeur ?
merci de votrer réponse,![]()
Bah free pareil.Envoyé par FamiDoo
free(*pointeur);
Pour chaque malloc tu as un free. Tout dépend ensuite de ce que tu fais avec ton pointeur sur pointeur.
Bonjour,
admetons que tu as alloué de cette façon :
ceci est une méthode assez classique pour allouer un **.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int **ToTo ; ToTo = malloc(Hauteur*sizeof(int *)) ; assert(ToTo != NULL) ; for (i=0 ; i < Hauteur ; i++) { ToTo[i] = malloc(Largeur*sizeof(int)) ; assert(ToTo[i] != NULL) ; }
Pour la désallouer, il faut faire l'inverse avec free :
Et selon les compilateur et l'OS, tu peux (voire tu dois) rajouter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for (i=0 ; i < Hauteur ; i++) free(ToTo[i]) ; free(ToTo) ;
Bonne continuation
Code : Sélectionner tout - Visualiser dans une fenêtre à part ToTo = NULL ;
Consignes aux jeunes padawans : une image vaut 1000 mots !
- Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
- Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
-ton poste tu dois marquer quand la bonne réponse tu as obtenu.
Absolument aucun rapport avec le compilateur ou l'OS. Le fait de donner à un pointeur une valeur cohérente est une question de Bonne Pratique. C'est tout.Envoyé par ToTo13
Partager