Zeichenliterale in C
Einführendes Beispiel
Wir hatten schon die Funktion »putchar« behandelt, die ein Zeichen zu einer bestimmten Kennzahl ausgeben kann.
main.c
#include <stdio.h> int main( void ){ putchar( 65 ); }
transcript
A
An Stelle von »65« kann aber auch »'A'« verwendet werden.
main.c
#include <stdio.h> int main( void ){ putchar( 'A' ); }
transcript
A
Das Wichtigste in Kürze
- Der Datentyp eines Zeichenliterals ist »int«.
- Während das Zeichen zur Kennzahl »65« implementationsspezifisch ist, ist das Zeichen zur Kennzahl »'A'« immer »A«. Daher ist die Verwendung der Zeichenliterale für ein bestimmtes Zeichen portabler.
- Zwischen den Apostrophen muß immer genau ein Zeichen enthalten sein, nicht zwei, und auch nicht gar keines.
- Der Wert von »'0'« ist nicht »0«. Unter vielen Implementation beträgt er »48«.
- Man kann damit rechnen: »'A' + 1«, aber es ist nicht garantiert, daß dies unter allen Implementationen »B« ergibt. (Allerdings gibt es eine Garantie für Ziffern : »'0' + 1« ist in der Regel »'1'«.)