En C, les chaînes de caractères sont représentées par des tableaux de type char.
char *tab = "Hello";
Vous déclarez un pointeur qui pointe sur une chaîne de caractères stockée quelque part dans votre programme (la modification de cette chaîne est un comportement non défini) selon le langage de programmation C.
char tab2[] = "Hello";
Vous déclarez un tableau de char initialisé avec la chaîne « Hello » en laissant au compilateur le travail de compter la taille du tableau.
char tab3[5] = "Hello";
Vous déclarez un tableau de taille 5 et l’initialisez avec « Hello ». C’est une erreur car « Hello » ne tient pas dans 5 éléments.
char tab3[6] = "Hello";
est la déclaration correcte (\0
est le caractère de fin de chaîne en c).