C'est un tableau
qui
contient des chaines de caractères, donc un tableau de tableau
de
caractères.
- Déclaration: comme un
tableau à deux dimensions
char s1[3][9];
char s2[3][9] = {"Lundi", "Mercredi","Vendredi"};
Le nombre de colonnes du
tableau correspond à la taille de la chaîne la plus longue.
On peut aussi initiliser le tableau grâce à des
instructions.
strcpy(s1[0],"Dimanche");
strcpy(s1[1],"Samedi");
- Déclaration: comme un
tableau à une dimension de pointeurs de caractères.
char* s4[3] =
{"samedi","mardi","dimanche"};
char* s3[3]; /* un tableau de 3 (pointeurs de
caractères) chaines */
s3 peut être interprété comme un tableau de 3
pointeurs de caractères ou un tableau de trois pointeurs de
chaînes de caractères (c'est l'usage qui décide)
Attention: Contrairement à s1 ou s2 AUCUNE place en
mémoire n'a été réservée pour les
trois éléments de s3 (juste la place pour les pointeurs).
On doit donc initialiser s3 avec 3 chaînes existantes (dont la
place est réservée):
char ch1[7] = "jeudi";
char ch2[9] = "mardi";
char ch3[7] = "lundi";
s3[0] = ch1;
s3[1] = ch2;
s3[2] = ch3;
suivant
plan