Tableaux de pointeurs vers des chaînes

C'est pour les tableaux de caractères à deux dimensions, que se manifeste le plus souvent l'intérêt de disposer d'un tableau de lignes de longueurs différentes : les longueurs des chaînes sont extrêmement variables. La aussi, les habitudes sont les mêmes, les programmeurs utilisent le type tableau de pointeurs vers des char 4.1, comme ceci :
char * t[NB_ELEM];
On peut initialiser un tableau de ce type avec des chaînes littérales :
char * mois[] = {"janvier", "février", "mars", "avril",
           "mai", "juin", "juillet", "août", "septembre",
           "octobre", "novembre", "décembre"};
On remarquera que ceci est impossible avec tout autre type que les char : il est impossible d'écrire :
int * tab[] = {{1}, {2,3}, {4,5,6}};
Une boucle d'impression des valeurs du tableau mois pourra être :
#define NBMOIS 12
int i;

for (i = 0; i < NBMOIS ; i++)
   printf("%s\n",mois[i]);



Matthieu Moy 2017-02-08