voila je m'interrogeais sur la porté d'un malloc dans une fonction
Code :
- void fonction (char **);
- void fonction (char **entete)
- {
- char *tmp = malloc (20);
- // je fais des affectation dans tmp avec strcpy
- // et apres je recupere son adresse et je l'a copie dans *entete
- if (entete != NULL) free (*entete)
- *entete = tmp;
- printf("%s",*entete); //OK
- }
- int main ()
- {
- char *buffer = NULL;
- fonction (&buffer);
- printf("%s",buffer); //pas pris en compte
- return 0;
|
je peux afficher les caracctere de entete dans la fonction mais des que je sors, ce n'est plus pris en compte ...
je pensais qu'avec un malloc, lorsque l'on sortais de la fonction, les blocs alloué n'etait pas libéré.
}
Message édité par weed le 17-06-2004 à 00:18:44