#include "stack.h" struct test_s{ int truc; void* bidule; }; typedef struct test_s* test_t; void test_fuite_memoire(void){ test_t truc = malloc( sizeof(*truc) ); stack pile = stack_create(); stack_push( pile, truc ); stack_destroy( pile ); } void test_memoire_desallouee(void){ test_t truc = malloc( sizeof(*truc) ); stack pile = stack_create(); stack_push( pile, truc ); stack_destroy( pile ); free(truc); } int main(int argc, char* argv[] ){ test_memoire_desallouee(); //la mémoire est bien restituée test_fuite_memoire(); //l'objet "truc" définit dans test_fuite_memoire() utilise toujours de la mémoire //mais je ne peux plus, ni le désallouer, ni l'utiliser. ===> fuite mémoire return 0; }