Share via


Initialisieren von Zeichenfolgen

Sie können ein Zeichenarray (oder Breitzeichen) mit einem Zeichenfolgenliteral (oder Breitzeichenfolgenliteral) initialisieren. Zum Beispiel:

char code[ ] = "abc";

initialisiert code als Zeichenarray mit vier Elementen. Das vierte Element ist das Nullzeichen, welches alle Zeichenfolgenliterale beendet.

Eine Bezeichnerliste kann nur so lang sein, wie die Anzahl von zu initialisierenden Bezeichnern. Beim Erstellen einer Arraygröße, die kürzer als die Zeichenfolge ist, werden die zusätzlichen Zeichen ignoriert. Zum Beispiel initialisiert die folgende Deklaration code als ein Drei-Elemente-Zeichenarray:

char code[3] = "abcd";

Nur die ersten drei Zeichen des Initialisierers werden code zugewiesen. Das Zeichen d und das eine Zeichenfolge beendete NULL-Zeichen werden verworfen. Beachten Sie, dass dies eine nicht terminierte Zeichenfolge (d. h. eine Zeichenfolge ohne einen 0-Wert, um ihr Ende zu markieren) erstellt und eine Diagnosemeldung generiert, die diese Bedingung angibt.

Die Deklaration

char s[] = "abc", t[3] = "abc";

ist identisch mit

char s[]  = {'a', 'b', 'c', '\0'},
     t[3] = {'a', 'b', 'c' };

Wenn die Zeichenfolge kürzer ist als die angegebene Arraygröße, werden die verbleibenden Elemente des Arrays mit 0 initialisiert.

Microsoft-spezifisch

In Microsoft C können Zeichenfolgenliterale bis 2048 Byte lang sein.

Ende Microsoft-spezifisch

Siehe auch

Initialisierung