J'ai un programme de ligne de commande C pour lequel j'utilise la fonction calloc() pour affecter de la mémoire à une structure qui a aussi une structure avec de la mémoire assignée.Libérer de la mémoire après utilisation
Si j'utilise la fonction free() pour libérer la mémoire de la structure parente, va-t-elle également libérer la mémoire de la structure enfant? Ou devrais-je libérer la mémoire de la structure enfant en premier?
un peu lié: http://stackoverflow.com/questions/1941323/always-check-malloced-memory – jldupont
avez-vous également utilisé calloc/malloc pour la structure de l'enfant? – quinmars
Si vous avez utilisé calloc() sur la structure enfant, vous devez utiliser free() sur cette mémoire. Sinon, au fur et à mesure de l'exécution de votre programme, il prendra de plus en plus de mémoire. (Si votre programme ne fait pas grand-chose avant de quitter, ce n'est pas vraiment important, mais si vous le faites en boucle, vous pourriez même planter.) – egrunin