Salut ypcman,
Crée un "string literal". Selon le standard du C (par exemple dans C11, au 6.4.5 String literals) :
"If the program attempts to modify such an array, the behavior is
undefined."
Comme le comportement est indéfini, ton programme peut faire n'importe quoi lorsque tu tentes de modifier le contenu de la chaîne créée.
Tu devrais traiter ce type de déclaration comme une constante :
const char * mot = "test";
Concrètement, que tu mettes le mot clef const ou pas, ce type de déclaration aboutit à inclure la chaîne littérale dans une partie du code exécutable du programme qui, à l'exécution, est disponible dans un segment de mémoire en lecture seule utilisé par le programme (code segment).
Partager