Les chaînes de caractères :
En langage C, on ne peut pas déclarer de variables du type « chaîne de caractères ». Puisque ce type n’existe pas, il faut prévoir un emplacement pour mémoriser cette catégorie de données; un tableau est plus adapté pour assurer cette tâche.
Ainsi, une chaîne de caractères peut être considérée comme un tableau de caractères.
Par convention de représentation, une chaîne constante est notée entre guillemets.
La chaîne de caractères est matérialisée sous la forme d’un tableau de caractères qui se termine par un caractère de fin de chaîne : le caractère nul (\0).

Déclaration d’une chaîne de caractères :
Syntaxe :
char nomDuTableau[nbrCaracteres] ;
nbrCaracteres devra être égal au nombre de caractères de la chaîne + 1, car il faut tenir compte du caractère nul à la fin.
Exemple :
char s[10] ; // la chaîne de caractères s aura 9 caractères + le caractère nul.
Initialisation d’une chaîne de caractères :
Une chaîne de caractère peut être initialisée par une chaîne constante.
Exemple :
char s[] = "Hello" ;
Ainsi, la longueur du tableau s sera déterminée automatiquement par la longueur de la chaîne. Le caractère nul est automatiquement ajouté à la fin.
char s1[] = "Bonjour!" ; // 9 caractères caractère '\0' compris
Autre façon d’initialiser une chaîne de caractères :
Au moment de la déclaration de variables ; exemple :
char s[9] = {'E','x','a','m','p','l','e','s','\0'} ;
Ou bien dans le code programme :
Dans ce cas, la chaîne doit être initialisée élément par élément en adoptant la syntaxe suivante:
nomDuTableau[0] = 'caractère1' ;
nomDuTableau[1] = 'caractère2' ;
.
.
.
nomDuTableau[n] = '\0' ;
Exemple :
s[0] = 'H' ;
s[1] = 'e' ;
s[2] = 'l' ;
s[3] = 'l' ;
s[4] = 'o' ;
s[5] = '\0' ;
Comparaison de deux chaînes de caractères :
On ne peut pas comparer deux chaînes de caractères avec les opérateurs == ou != ; il faut utiliser la fonction prédéfinie strcmp() pour comparer deux chaînes de caractères. Cette fonction renvoie la valeur 0 lorsque le test de comparaison est vrai, ou une valeur différente de 0 dans d’autres cas.
Longueur d'une chaîne de caractères:
La fonction strlen() retourne la longueur d'une chaîne de caractères, c'est à dire le nombre de caractères, sans compter le caractère '\0'.
Les deux fonctions strcmp() et strlen() sont des fonctions prédéfinies de la bibliothèque string.h, comme il en existe d'autres. Il faudra se référer à la documentation du compilateur pour voir les différentes fonctions proposées par cette bibliothèque ainsi que leur prototype.
Tableaux et fonctions :
Pour passer un tableau en paramètre à une fonction, il est plus judicieux d’utiliser un passage par référence au lieu d’un passage par valeur ; ou bien un pointeur de tableau au lieu du tableau lui-même.
La notion de pointeur fera l’objet du prochain paragraphe.