Bonjour à tous,

J'essaie de comprendre les déclarations. Voici, même si je me fourvoie, deux déclarations de fonctions retournant un pointeur sur un tableau de pointeurs sur char . Ça compile sans warning.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
char **tst2(char *in[])
 {/*    tst:  fonction retournant un pointeur sur un tableau de pointeurs sur char  */
 
 return in;
 }
 
 
 char*( (*tst() )  [])
 {/*    tst:  fonction retournant un pointeur sur un tableau de pointeurs sur char   */
 static char *p[5] = {0};
 return &p;
 }
Puisque nous sommes en démocratie, en a-t-ils qui ne sont pas d'accord?

Question complémentaire:
Si j'utilise le paramètre -std=c99, GCC n'émet pas de warning si je ne déclare pas mes fonctions autres que la fonction main.