Liberation de memoire en c
vieulo
-
ariock Messages postés 125 Date d'inscription Statut Membre Dernière intervention -
ariock Messages postés 125 Date d'inscription Statut Membre Dernière intervention -
je creer un tableau de chaine de car
char** tmp;
j'alloue ensuite de la memoire pour chaque composant de ce tableau
tmp[i] = (char*)alloca(strlen(msg) + 1);
je souhaite liberer liberer la memoire de tmp.
Est ce que un free(tmp); suffit ou je suis oblige de liberer tous les index du tableau avant de liberer tmp
char** tmp;
j'alloue ensuite de la memoire pour chaque composant de ce tableau
tmp[i] = (char*)alloca(strlen(msg) + 1);
je souhaite liberer liberer la memoire de tmp.
Est ce que un free(tmp); suffit ou je suis oblige de liberer tous les index du tableau avant de liberer tmp
A voir également:
- Liberation de memoire en c
- Mémoire vive - Guide
- RAM : type, format, CAS, vitesse, tout sur la mémoire vive - Guide
- Comment liberer de l'espace sur gmail - Guide
- Nettoyer memoire iphone - Guide
- C'est un secret bien gardé : ce réglage d'expert peut doper les performances de votre PC - Guide
1 réponse
A ton avis ?
Les bouts de mémoires alloués n'étant pas nécessairement consécutifs (dans le cas où ils le seraient, le système serait obligé d'en assurer la fusion), la seule soultion est d'effectuer la libération par une boucle (avec temp[indice]).
Une des erreurs couramment rencontrées, dans le cas de listes chaînées par exemple, est la destruction du pointeur "suivant" préalablement à la demande de libération de l'espace pointé !!!
Les bouts de mémoires alloués n'étant pas nécessairement consécutifs (dans le cas où ils le seraient, le système serait obligé d'en assurer la fusion), la seule soultion est d'effectuer la libération par une boucle (avec temp[indice]).
Une des erreurs couramment rencontrées, dans le cas de listes chaînées par exemple, est la destruction du pointeur "suivant" préalablement à la demande de libération de l'espace pointé !!!
Mais c'est bizarre
lorsque je teste la boucle
si je fais un printf de tmp[0], il renvoit la valeur d'avant la liberation?????
Je suis un gaucher contrariant. C'est plus fort que moi,
il faut que j'emmerde les droitiers.