Bonjour,
Pour éviter les fuites mémoires j'aimerai libérer les différents pointeurs appelés par ma fonction.
Le problème est que je ne suis pas bien sûre de ce que je dois libérer et comment.
En effet si j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 { long **pointeur1; long *ptr2; long *ptr3; pointeur1= (long**)calloc (taille1,sizeof(long)); prt2 = (long*)calloc (taille2,sizeof(long)); calculs calculs calculs; free(pointeur1); free(ptr2); free(ptr3); }
J'aimerai savoir
1) Si les pointeurs et double pointeurs sont libérés de la même manière ou si je dois libérer 2 fois le double pointeur, dans ce cas là comment ?
2) Faut il aussi faire free(ptr3) s'il n'y a pas eu de calloc fait sur ce pointeur ?
3) Et enfin : dois-je écrire
pointeur1 = NULL; ptr2 = NULL;
après les avoir libérés ?
(et si oui, pourquoi ?)
Merci beaucoup.
Partager