Previous Next Up Index Contents

8.3. Initialisation de chaînes de caractères


En général, les tableaux sont initialisés par l'indication de la liste des éléments du tableau entre accolades:

   char CHAINE[] = {'H','e','l','l','o','\0'};

Pour le cas spécial des tableaux de caractères, nous pouvons utiliser une initialisation plus confortable en indiquant simplement une chaîne de caractère constante:

   char CHAINE[] = "Hello";

Lors de l'initialisation par [], l'ordinateur réserve automatiquement le nombre d'octets nécessaires pour la chaîne, c.-à-d.: le nombre de caractères + 1 (ici: 6 octets). Nous pouvons aussi indiquer explicitement le nombre d'octets à réserver, si celui-ci est supérieur ou égal à la longueur de la chaîne d'initialisation.

Exemples


Exercice 8.1.

Lesquelles des chaînes suivantes sont initialisées correctement ? Corrigez les déclarations fausses et indiquez pour chaque chaîne de caractères le nombre d'octets qui sera réservé en mémoire.

a)   char a[]   = "un\ndeux\ntrois\n";
b)   char b[12] = "un deux trois";
c)   char c[]   = 'abcdefg';
d)   char d[10] = 'x';
e)   char e[5]  = "cinq";
f)   char f[]   = "Cette "   "phrase"   "est coupée";
g)   char g[2]  = {'a', '\0'};
h)   char h[4]  = {'a', 'b', 'c'};
i)   char i[4]  = "'o'";


Previous Next Up Index Contents

Feedback - Copyright © 1993,1996,1997 F.Faber