Initialisation d'une chaîne par calcul
Le tableau peut évidemment se remplir case par case mais il ne faut pas oublier d'ajouter le '\0' à la fin.
#define MAX 5 int i; char truc[MAX]; for (i=0;i<MAX-1;i++) truc[i]='A'+i; truc[MAX-1] = '\0';
Les cases d'indices 0,1,2,3 sont remplies avec successivement les caractères 'A', 'B', 'C', 'D' (dans l'ordre des codes de la table ASCII). Ensuite la case d'indice 4 est remplie avec '\0'.
Mais il est préférable d'utiliser les fonctions prédéfinies dans la bibliothèque <strings.h>.
#include <string.h>
#define MAX_LEN 8
char toto[MAX_LEN];
strcpy(toto,"bonjour");
Où la fonction strcpy copie le mot « bonjour » dans la chaîne de caractères toto.
Le caractère '\0' prend une place dans le tableau de caractères. Si vous avez besoin de manipuler des chaînes de 8 caractères, il faudra déclarer des tableaux de caractères de taille 9.