Bonjour à tous,

Cela fait longtemps que je n'ai pas fait de C, et j'ai un doute dans le cas suivant : lorsque la procedure toto est terminée, son espace mémoire est désalouée et la valeur de tab peut être écrasée avant que l'appelant ne s'en serve ?
Ne faut t'il pas alors préciser "static char tab[10]" ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
char * toto() 
{
   char tab[10],
   strcpy(tab,"abcdef");
   return (&tab);
}
 
main() 
{
   printf("%s\n",toto());
}
Merci de votre éclairage