next up previous contents index
Next: Tableaux et passage par Up: No Title Previous: Tableaux de dimension 1

Chaînes de caractères

         

Les chaînes de caractères (appelées en anglais strings), sont des objets importants en programmation, intervenant dans les entrées-sorties et plus généralement dans la manipulation de fichiers textuels.

Une chaîne littérale est une suite de caractères entourée par des apostrophes doubles " (en anglais double quotes), par exemple "Knuth".

Une chaîne de caractères est représentée en mémoire comme un tableau de char dont le dernier élément est le caractère nul noté \0. On peut utiliser une chaîne littérale pour définir une variable de type tableau de caractères :

 

char k[] = "Knuth";

ce qui a pour effet d'allouer un tableau de 6 caractères (un de plus que la longueur de la chaîne), et d'initialiser chacun de ses éléments par :

k[0] = 'K';
k[1] = 'n';
k[1] = 'u';
k[1] = 't';
k[4] = 'h';
k[5] = '\0'

La valeur des caractères peut être ultérieurement modifiée, par exemple par

k[4] = 't';

mais le nom k n'étant pas une variable, ne peut être l'objet d'une affectation : k = "Donald" est interdit.

   

Les chaînes ont déjà été employées pour réaliser des lectures et des écritures. Les fonctions printf et scanf prennent une chaîne en premier argument.

Une chaîne de caractères (sans espaces) peut être lue sur l'entrée standard avec la fonction scanf, et écrite sur la sortie standard avec printf en utilisant la conversion %s :

  char s[4];        /* pour lire au plus 3 caractères */
  scanf("%s", s); 
  printf("%s", s);

Un \0 est ajouté à la fin des caractères lus par scanf.



Rene Lalement
Mon Sep 30 18:22:54 MET 1996