5.19 Konstanten
Eine Konstante ist entweder eine ganzzahlige Konstante, eine Gleitpunktkonstante, eine Zeichenkonstante oder ein Stringliteral. Jede Konstante besteht aus einem Typ, der sich aus dem Wert und seiner Schreibweise ergibt.
5.19.1 Ganzzahlkonstanten
Ganzzahlige Konstanten können als Dezimalzahl, als Oktalzahl oder als Hexadezimalzahl dargestellt werden. Die dezimale Konstante kann durch folgende Datentypen dargestellt werden:
int, unsigned long, long, long long
Oktale und hexadezimale Konstanten lassen sich mit folgenden Datentypen darstellen:
int, unsigned int, long, unsigned long, unsigned long long
Der Typ der Konstante lässt sich übrigens auch mit dem Suffix L oder l für long, ll oder LL für long long und u oder U für unsigned-Konstanten beschreiben.
Tabelle 5.12 enthält einige Beispiele ganzzahliger Konstanten.
dezimal | hexadezimal | oktal | Typ |
30 |
0x1e |
036 |
int |
30U |
0x1eu |
036U |
unsigned int |
30L |
0x1eL |
036l |
long |
30ul |
0x1EUL |
036UL |
unsigned long |
30ll |
0x1ell |
036ll |
long long |
30ull |
0x1eull |
036ull |
unsigned long long |
5.19.2 Gleitpunktkonstanten
Eine Gleitpunktkonstante ist eine Folge von Dezimalziffern mit einem Gleitpunkt. Gleitpunktkonstanten müssen stets mit einem Gleitpunkt oder der Angabe von e oder E gekennzeichnet werden. Wird kein Suffix angegeben, ist die Konstante vom Typ double. Mit dem Suffix f oder F ist der Typ der Konstante float, und mit dem Suffix l oder L wird daraus ein long double.
Auch hierzu einige Beispiele:
11. |
.11e2 |
11e0 |
11.0 |
0.007 |
0.7e-2 |
.7E-2 |
7E-3 |
5.19.3 Zeichenkonstanten
Zeichenkonstanten bestehen aus einem Zeichen, das zwischen zwei einfache Hochkommata eingeschlossen wird. Zeichenkonstanten sind intern vom Typ int und werden durch entsprechenden Zeichencode (ASCII-Code) dargestellt. Einige Beispiele für Zeichenkonstanten sind:
'a', 'b', '\t', '\n', 'x'
Wollen Sie eine Zeichenkonstante vom Typ wchar_t verwenden, müssen Sie das Präfix L voranstellen:
L'a', L'b', L'\t', L'\n', L'x'
5.19.4 Stringliterale (Stringkonstante)
Ein Stringliteral ist ein char-Array, das mit dem schließenden Stringende-Zeichen \0 gespeichert wird. Außerdem werden Stringliterale zwischen zwei doppelte Hochkommata gestellt.
Beispiele:
"Hallo Welt", "Hallo\nWelt\n"
Sofern Sie auch hierbei sogenannte Wide-String-Literale definieren wollen, muss auch hier das Präfix L vorangestellt werden:
L"Hallo Welt", L"Hallo\nWelt\n"
Mehr zu den Strings im Allgemeinen erfahren Sie in Kapitel 11, »Arrays«.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.