3.5.3 Les variables de type caractère

Icône de l'outil pédagogique Les variables de type caractère

 

Le mot‐clé char permet de déclarer une variable qui occupe un seul octet en mémoire. Il est très utilisé en informatique industrielle sous sa forme unsigned char.

Dans d'autres langages, ce type s'appelle BYTE (octet), nom moins réducteur que char qui laisse faussement penser que ce type n'est utilisé que pour stocker un caractère.

Quand une variable char est utilisée pour stocker un caractère, elle peut prendre toutes les valeurs du code ASCII (soit 256 valeurs de 0 à 0xFF). La façon la plus simple de lui donner une valeur consiste à placer entre apostrophes (' ') le caractère voulu, ou si c’est impossible, son code ASCII hexadécimal.

Exemple 5, Déclaration et initialisation de variables sur un octet :
Le type char est en fait un type entier codé sur un octet : en plus des caractères proprement dits, il peut servir à représenter toute variable qui occupe un octet en mémoire. C'est le cas de la variable masque de l'exemple précédent, initialisée avec la valeur hexadécimale 0xF3 (ou la valeur décimale équivalente 243).

En informatique industrielle, on utilise beaucoup le type unsigned char, car les ports et les registres des microcontrôleurs sont souvent sur 8 bits.

La table des codes ASCII des caractères se trouve en annexe en cas de besoin. Les représentations usuelles ('\n', '\r' ...) de certains caractères seront données au chapitre « Entrées/sorties conversationnelles ».

Suivant les compilateurs, le type char est par défaut non signé (valeurs entre 0 et 255) ou signé (valeurs entre -128 et +127). Il faut préciser signed ou unsigned si on a besoin de lever l'ambiguïté, c’est-à-dire si on sort de la gamme commune [0, 127].