J'essaye de libérer la mémoire que j'ai allouée avec malloc
, mais la commande free
ne semble pas faire son travail correctement selon le débogueur d'Eclipse. Comment est-ce possible? Ci-dessous est une capture d'écran de mon débogueur après qu'il soi-disant libéré seCurrent->student->year
, ce qui n'est clairement pas le cas. year
a été allouée en utilisant malloc
.free() ne libère pas la mémoire correctement?
alt text http://img693.imageshack.us/img693/7840/codeo.png
Recommanderiez-vous d'utiliser le pointeur NULL après avoir libéré le pointeur? – Pieter
@Pieter Définir à quelque chose d'invalide, reconnaissable par un humain comme invalide, et non accepté par 'free'. La norme dit que 'free' est supposé accepter' NULL', donc vous pouvez cacher un double-freeing-bug si vous mettez le pointeur sur NULL. –
Par contre, si vous placez le pointeur sur NULL et que vous le libérez à nouveau, est-ce vraiment un bug? – bk1e