Libérer la mémoire contenu dans structure->p_char...
11 réponses
Eddahbi Karim
Bonjour/Bonsoir (rayez votre écran si ça vous chante)
Comment faire pour libérer une ressource contenu dans un pointeur de
structure via free ?
Par exemple :
typedef struct {
char *pabo;
} test;
void vide_tout ( test *foo )
{
free(???);
}
int main ( void )
{
test foo = {NULL};
foo.pasbo = "BLA";
vide_tout( &foo )
return 0;
}
Je sais que *foo c'est la référence de la structure.
&foo c'est l'adresse de la structure.
Par contre foo->pabo c'est quoi ?
Je fais comment pour libérer foo->pasbo.
J'ai cherche un peu dans les Google groups, et apparemment y'a pas ce
genre de questions. (J'ai récolté une leçon sur les pointeurs de Delahaye
en passant)
J'ai l'impression que ma méthode est mauvaise (j'aurais innové en matière
de mauvaise conception en C ? :))
Si c'est si mauvais, comment rectifier ça pour que je puisse libérer toute
la mémoire.
Merci,
PS : * et &, ça doit être les choses que j'assimile le moins, même avec mon
bouquin.
Pour moi *machin c'est un peu comme les définitions qu'on voit dans les
bouquins et & ça donne son adresse :).