Se connecter avec
S'enregistrer | Connectez-vous

Free et Malloc en C

Dernière réponse : dans Programmation

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.

Autres pages sur : free malloc

Lassé par la pub ? Créez un compte
Expert Programmation

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 ;) 

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. :) 
Lassé par la pub ? Créez un compte