char

Il n'y a pas en C de vrai type char distincts des autres types du langage. char est en fait un type entier avec une notation particulière pour désigner une valeur de type char ('a').

Attention, on utilise bien l'apostrophe pour désigner un littéral de caractère. "a" est une chaîne de deux caractères a et le caractère NULL '/n'.

Les caractères sont des entiers que l'on peut additionner, soustraire :

'c' -'a' rend la valeur 4, différence entre les codes ASCII de ces deux caractères.

En fait, il y a 3 types :

  • char (équivalent à signed char ou à unsigned char semon les implémentations)
  • signed char (1 bit de signe)
  • unsigned char (pas de bit de signe

Quelle taille pour le type char?

sizeof(char) vaut 1, un char est donc représenter par un "byte". mais, attention, en  C, un byte  ne fait pas forcément 8 bits.
La norme requiert qu'un byte doit faire au moins 8 bits et la taille exacte en bits d'un char est donnée par la macro CHAR_BIT définie dans le fichier limits.h.

» Glossaire du langage C