un free pour chaque malloc ... telle est la regle ...
LeNul
slvn a écrit a écrit :
je pense plutot a des merdes avec les pointeurs en effets:)
(teste si les malloc sont ok a chaque fois....)
(ne fias pas deux fois un free sur la memem adresse aussi ;) )
A propos de malloc d'ailleurs :
j'ai un :
char ** ptr_liste
qui sera un tableau de chaines de caractères (dynamique)
Pour libérer la memoire allouée, dois je faire simplement:
free(ptr_liste);
ou dois je d'abord faire une boucle du style :
for (i=0 ; i<taille_liste ; i++)
{ free (*(ptr_liste+i));
}
free(ptr_liste);
MERCI !!
slvn
je pense plutot a des merdes avec les pointeurs en effets:)
(teste si les malloc sont ok a chaque fois....)
(ne fias pas deux fois un free sur la memem adresse aussi ;) )
LeNul
Normalement les malloc et realloc sont alloués sur le tas ... or mon prog plante aléatoirement ... Je me dis que le tas n'est pas assez grand ... mais c ptet des merdes dans les pointeurs qui sait ...
verdoux
Pour augmenter le tas, faut acheter de la RAM
slvn
desolé, je ne reponds pas a ta question, mais le tas depends de la ram ? quand y a pu de ram, tu peux pu rien allouer ??
et les free() ne reccuperent pas de memoire pour le prog il me semble, mais pour l os ?!
->il faut que tu reutilise la memoire toi meme
-> ou bien par exemple utiliser un fichier ?!
LeNul
UP !!!! :jap:
LeNul
Voila, j'ai besoin de bcp de place pour faire mes malloc mais je ne sais pas quelle option passer à GCC pour augmenter la taille du tas (heap).