Handbuch zur dynamischen Ablaufverfolgung in Solaris

Konstanten

Integer-Konstanten (Ganzzahlkonstanten) können in dezimaler (12345), oktaler (012345) oder hexadezimaler (0x12345) Form geschrieben werden. Oktale Konstanten (Grundzahl 8) müssen eine Null als Präfix erhalten. Hexadezimalen Konstanten (Grundzahl 16) ist entweder 0x oder 0X voranzustellen. Integer-Konstanten wird der kleinste der Datentypen int, long oder long long zugewiesen, mit dem ihr Wert dargestellt werden kann. Bei negativen Werten wird die vorzeichenbehaftete Version des entsprechenden Typs verwendet. Positive Werte, die zu groß für den Typ mit Vorzeichen sind, werden durch den entsprechenden vorzeichenlosen Typ dargestellt. An jede Integer-Konstante kann zur expliziten Angabe des D-Typs einer der folgenden Zusätze angehängt werden:

u oder U

unsigned-Version des vom Compiler ausgewählten Typs

l oder L

long

ul oder UL

unsigned long

ll oder LL

long long

ull oder ULL

unsigned long long

Gleitkommakonstanten werden immer in dezimaler Form dargestellt und müssen entweder ein Dezimaltrennzeichen (12.345), einen Exponent ( 123e45) oder beides enthalten (123.34e-5). Standardmäßig wird Gleitkommakonstanten der Typ double zugewiesen. An jede Gleitkommakonstante kann zur expliziten Angabe des D-Typs einer der folgenden Zusätze angehängt werden:

f oder F

float

l oder L

long double

Zeichenkonstanten werden als einzelnes Zeichen oder in ihrer Ersatzdarstellung zwischen einfachen Anführungszeichen dargestellt ('a'). Zeichenkonstanten wird der Typ int zugewiesen und sie sind gleichbedeutend mit Integer-Konstanten, deren Wert durch den Wert des entsprechenden Zeichens im ASCII-Zeichensatz bestimmt ist. Eine Liste von Zeichen und ihren Werten finden Sie unter ascii(5). Auch alle speziellen Ersatzdarstellungen in der nachfolgenden Tabelle sind in Zeichenkonstanten erlaubt. D unterstützt dieselben Ersatzdarstellungen, wie sie in ANSI-C verwendet werden.

Tabelle 2–5 Ersatzdarstellungen für Zeichen in D

\a

Klingelzeichen 

\\

Gegenschrägstrich 

\b

Rückschritt (Backspace) 

\?

Fragezeichen 

\f

Seitenvorschub 

\'

(einfaches) Anführungszeichen 

\n

Zeilentrenner 

\”

(doppeltes) Anführungszeichen 

\r

Wagenrücklauf 

\0oo

Oktalwert 0oo

\t

(waagerechter) Tabulator 

\xhh

Hexadezimalwert 0xhh

\v

Vertikal-Tabulator 

\0

Nullzeichen 

Indem Sie mehrere Zeichenangaben zwischen einfache Anführungszeichen setzen, können Sie Ganzzahlen erstellen, deren einzelne Byte je nach der entsprechenden Zeichenangabe initialisiert werden. Die Byte werden ab der Zeichenkonstante von links nach rechts gelesen und der entstehenden Ganzzahl entsprechend der nativen Byte-Reihenfolge des Betriebssystems in der Darstellung Big Endian oder Little Endian zugeordnet. Eine Zeichenkonstante fasst bis zu acht Zeichenangaben.

Durch Schreibung zwischen doppelten Anführungszeichen lassen sich Zeichenkettenkonstanten einer beliebigen Länge zusammensetzen ("hello"). Zeichenkettenkonstanten dürfen keine wörtlichen Zeilentrenner enthalten. Zur Angabe einer neuen Zeile innerhalb einer Zeichenkette verwenden Sie stattdessen die Ersatzdarstellung \n. Alle bereits für Zeichenkonstanten aufgeführten Sonderzeichen-Ersatzdarstellungen dürfen auch in Zeichenkettenkonstanten vorkommen. Ähnlich wie in ANSI-C werden Zeichenketten als Vektoren von Zeichen mit einem abschließenden Nullzeichen (\0) dargestellt, das implizit an jede deklarierte Zeichenkettenkonstante angefügt wird. Zeichenkettenkonstanten wird der spezielle D-Typ string zugewiesen. Der D-Compiler verfügt über besondere Leistungsmerkmale zum Vergleichen und Verfolgen von Zeichenvektoren, die als Zeichenketten deklariert wurden. Mehr darüber erfahren Sie inKapitel 6Zeichenketten.