Les trois types char

De RAD Studio
Aller à : navigation, rechercher

Remonter à Présentation des constantes caractère - Index

Une constante monocaractère, comme 'A', '\t' et '\007', est représentée comme un int. Dans ce cas, l'octet de poids faible est signé dans le bit de poids fort ; c'est-à-dire, si la valeur est supérieure à 127 (en base 10), le bit de poids fort est mis à -1 (=0xFF). Vous pouvez annuler cet effet en déclarant que le type char par défaut est unsigned.

Les trois types de caractères, char, signed char et unsigned char, nécessitent une mémoire de stockage de 8 bits (un octet). Par défaut, le compilateur traite les déclarations de caractères comme étant signed. Utilisez l'option de compilation –K pour qu'il traite les déclarations de caractères comme étant unsigned. Le comportement des programmes en C n'est pas affecté par cette distinction entre les trois types de caractères.

Dans un programme en C++, une fonction peut être surchargée par des arguments du type char, signed char ou unsigned char. Par exemple, les prototypes de fonction suivants sont valides et distincts :

 void func(char ch);
 void func(signed char ch);
 void func(unsigned char ch);

Si un seul de ces prototypes existe, il acceptera n'importe lequel des trois types de caractères. Par exemple, ce qui suit est accepté :

 void func(unsigned char ch);
 void main(void)
 {
   signed char ch = 'x';
   func(ch);
 }

Voir aussi