Die drei char-Typen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Zeichenkonstanten (Übersicht) - Index

Konstanten, die aus einem einzigen Zeichen bestehen (beispielsweise 'A', '\t' und '\007'), werden als int-Werte dargestellt. In diesem Fall gilt das niederwertige Bit als vorzeichenbehaftet, das heißt, wenn der Wert größer ist als 127 (Basis 10), wird das höherwertige Bit auf -1 (=0xFF) gesetzt. Diese Automatik kann ausgeschaltet werden, indem man als standardmäßigen char-Typ unsigned char wählt.

Die drei Zeichentypen char, signed char und unsigned char erfordern einen 8-Bit-Speicher (ein Byte). Per Voreinstellung behandelt der Comiler Zeichendeklarationen als mit Vorzeichen behaftet. Mit der Compiler-Option -K können Sie Zeichendeklarationen wie ohne Vorzeichen behandeln. Das Verhalten von C-Programmen bleibt durch die Unterscheidung zwischen diesen drei Zeichentypen unberührt.

In einem C++ Programm kann eine Funktion mit Argumenten vom Typ char, signed char oder unsigned char überladen werden. Die folgenden Funktionsprototypen sind zum Beispiel gültig und verschieden.

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

Wenn nur einer der oberen Prototypen existiert, wird er jeden der drei Zeichentypen akzeptieren. Das Folgende ist zum Beispiel möglich:

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

Siehe auch