Le code suivant utilise une declaration dynamique d'un tableau de 3 char* :
Je n'arrive pas à déclarer la meme chose de manière statique.
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 void test(char ***trois) { (*trois)[0] = "chaine 0"; (*trois)[1] = "chaine 1"; (*trois)[2] = "chaine 2"; } void main() { char **ex = malloc(3 * sizeof(char *)); test(&ex); printf("%s %s %s\n", ex[0], ex[1], ex[2]); free(ex); }
Si mon main devient comme le code qui suit, j'ai un warning à la compilation et un segfault à l'exécution.
Je remercie d'avance la personne qui m'expliquera la maniere correcte de déclarer statiquement cette exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void main() { char *ex[3]; test(&ex); printf("%s %s %s\n", ex[0], ex[1], ex[2]); }
Partager