Cas particulier des tableaux de caractères

$\bullet$
Un tableau de caractères peut être initialisé par une liste de constantes caractères. Exemple :

char ch[3] = {'a', 'b', 'c'};
C'est évidemment une méthode très lourde.

$\bullet$
Un tableau de caractères peut être initialisé par une chaîne littérale. Exemple :

char ch[8] = "exemple";

On se rappelle que le compilateur complète toute chaîne littérale avec un caractère null, il faut donc que le tableau ait au moins un élément de plus que le nombre de caractères de la chaîne littérale.

$\bullet$
Il est admissible que la taille déclarée pour le tableau soit supérieure à la taille de la chaîne littérale. Exemple :

char ch[100] = "exemple";

dans ce cas, seuls les 8 premiers caractères de ch seront initialisés.

$\bullet$
Il est également possible de ne pas indiquer la taille du tableau et dans ce cas, le compilateur a le bon goût de compter le nombre de caractères de la chaîne littérale et de donner la taille adéquate au tableau (sans oublier le null). Exemple :

char ch[] = "ch aura 22 caractères";

$\bullet$
Il est également possible de donner au tableau une taille égale au nombre de caractères de la chaîne. Dans ce cas, le compilateur comprend qu'il ne faut pas rajouter le null de la fin de chaîne. Exemple :
char ville[8] = "bordeaux";

Matthieu Moy 2017-02-08