Pourquoi les chaînes de caractères?

En programmation, les chaînes de caractères sont indispensables pour manipuler des libellés comme les noms, des adresses, des messages, etc.
Exemples:
"Paris", "Chef de département",  "5 rue du Moulin",  "Alexandre Durant",
Exemple:
char nom[30];
char s[8] = "bonjour";  /*  Une chaîne est entre guillemets */
Chaque caractère de la chaîne est stocké dans une case du tableau. s[0] c'est 'b', s[2] c'est 'n', etc... et s[7] c'est la caractère spécial '\0' qui est la marque obligatoire de fin de chaîne. Il faut donc prévoir une place pour ce caractère de fin de chaîne.
Autre possibilité équivalente pour la déclaration:
       char s[8] = {'b','o','n','j','o','u','r','\0'};

Il faut donc déclarer un tableau de taille suffisante pour accueillir la chaîne + le caractère de fin de chaîne '\0'  ==> une chaîne de n caractères nécessite n+1 emplacement dans le tableau.
char s1[2] = "bonsoir"; /* est  non valide car la chaîne est trop longue pour s1*/
char s2[7] = "bonsoir"; /* est non valide car il manque un élément dans s2 pour stocker '\0' */
suivant           plan