Bonjour, je reprends le code d'un ami et il y a une partie qui me "gêne". Voilà en gros son code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
typedef struct{
blabla
}A;
 
A * CreateA(blabla)
{
  A * a=malloc(sizeof(*a));
  blabla
  return a;
}
 
void DestroyA(A * a)
{
  blabla
  free(a);
  a=0;
}
Je doute qu'après Destroy(a) le pointeur soit remis à NULL. J'aurais plus fait

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
void DestroyA(A ** a)
{
  blabla
  free(*a);
  *a=NULL;
}
et DestroyA(&a); car a est une recopie.
Qu'en pensez-vous ?
Merci.