La plupart des alphabets des langues occidentales peuvent être
représentés dans un jeu de caractères codés sur 8 bits
, ce qui autorise 28 =
256 caractères. En C, les caractères sont donc représentés par les valeurs
du type char, c'est-à-dire par les entiers de 0 à 255.
Les constantes de type caractère sont notées entre deux apostrophes
(en anglais single quote ) :
'A', 'Z', 'a', ';', '4',
etc. S'y ajoutent des caractères spéciaux comme '\n' pour le
retour à la ligne et '\t' pour une tabulation, ainsi que
'\0', le caractère nul.
Un caractère peut être lu sur l'entrée standard avec la fonction
scanf, et écrit sur la sortie standard avec printf en
utilisant l'indicateur de
conversion %c :
char c;
scanf("%c", &c);
printf("%c", c);
Le type char étant assimilé en C aux types entiers, les opérations arithmétiques lui sont applicables. Par exemple, pour convertir en minuscules les majuscules d'un texte, on appliquera à chaque caractère c l'instruction suivante :
if ('A'<=c && c<='Z') c = c + 'a' - 'A';
Un autre exemple d'opérations arithmétiques sur les caractères sera donné dans la définition d'une fonction strcmp de comparaison sur les chaînes de caractères.