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