Bonjour,
Je vous remercie pours la reponse a ma question precedent.
Maintenant:
Ce progamme de test ne me donne aucune erreur (gcc -Wall) sauf avec
valgrind --leak-check=full -s a.out
LEAK SUMMARY:
==18401== definitely lost: 16 bytes in 1 blocks
==18401== indirectly lost: 0 bytes in 0 blocks
==18401== possibly lost: 0 bytes in 0 blocks
==18401== still reachable: 0 bytes in 0 blocks
==18401== suppressed: 0 bytes in 0 blocks
==18401==
==18401== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Elle ne disparait que si je ne fais pas d'appel a change ou/et change2.
Est-ce qu'il y a une explication ?
Merci.
#include <stdlib.h>
#include <math.h>
#define REALLOC(ptr, n) realloc(ptr, (n) * sizeof *(ptr))
typedef struct {
double a ;
} my_str ;
void change (my_str **str, unsigned short int *nb) {
(*nb)++ ;
*str = REALLOC (*str, *nb) ;
}
my_str* change2 (my_str *str, unsigned short int *nb) {
(*nb)++ ;
str = REALLOC (str, *nb) ;
return str ;
}
int main() {
my_str *str1 = NULL ;
unsigned short int N = 0 ;
change (&str1, &N) ;
str1 = change2 (str1, &N) ;
}
===========================================================================
Patrick DUPRÉ | | email: pdupre@???
Laboratoire interdisciplinaire Carnot de Bourgogne
9 Avenue Alain Savary, BP 47870, 21078 DIJON Cedex FRANCE
Tel: +33 (0)380395988 | | Room# D114A
===========================================================================