15.1. Pointeur et constante chaîne de caractères

Icône de l'outil pédagogique Pointeur et constante chaîne de caractères

Etudions les instructions suivantes :

 

char* salut ;
salut = "coucou" ;

 

salut est un pointeur sur une variable de type char.

Le compilateur place la chaîne "coucou" dans une zone mémoire de 7 octets, c'est‐à‐dire un tableau de 7 caractères qui contient les 6 lettres du mot coucou et le caractère nul 0.

A l'exécution, l'affectation salut= met l'adresse de cette zone mémoire dans le pointeur salut : salut pointe donc sur le premier caractère de la chaîne "coucou".

La chaîne "coucou" est appelée constante chaîne de caractères. L'écriture "coucou" représente pour le compilateur, non pas la valeur de la chaîne elle‐même, mais son adresse. D'où la possibilité d'affecter le pointeur par l'instruction salut = "coucou".

Il est interdit de modifier à l'exécution la valeur de la chaîne pointée par salut, car c'est une constante.