Free et Malloc en C

steeff

Habitué
Bonjour à tous,
j'ai une question qui me bloque, et je ne trouve pas la solution.

J'utilise des malloc dans mon code en C, et je sais qu'ensuite il faut libérer les zones mémoires avec des free. Jusque là tout va bien.

Mon problème est que j'ai besoin d'utiliser un pointeur pour écraser ce même pointeur, et donc allouer une nouvelle zone mémoire à ce pointeur. Mais en faisant ça, je perd l'ancienne adresse, et donc je ne peut plus la libérer. J'ai essayer de sauvegarder l'adresse dans une variable avant d'écraser le pointeur. Puis une fois écrasé, je tente de liberer l'espace mémoire conservé dans la variable de sauvegarde. Mais j'ai l'impression que ça ne fonctionne pas correctement. Et je ne sais pas si c'est comme ça qu'on doit procéder.

Pouvez-vous m'aider s'il vous plait ? (avec un petit exemple si possible)
Merci d'avance.
 

zeb

Modérateur
Salut steeff,

Ça paraît compliqué ton truc (je pense que la complication est dans ta tête :lol: )
M'enfin pourquoi faudrait-il que ton nouveau pointeur écrase le premier ?
Et pourquoi ne pas libérer le premier avant d'utiliser le second ?

Peut-être qu'en te posant ces questions tu trouveras toi-même une réponse.
Sinon, n'hésite pas, on est là pour ça ;)
 

steeff

Habitué
Bonsoir ! Je passe signaler que mon problème est bien résolu! et maintenant je voit mieux comment utiliser les free et malloc ! Ça fonctionne bien d'utiliser une variable de sauvegarde pour ensuite désallouer la zone memoire. Je te remercie Zeb de m'avoir répondu. :)
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 076
Membres
1 586 286
Dernier membre
petitangebleu1977
Partager cette page
Haut