Ein String ist ein array aus dem Datentyp char. Dementsprechend ist ein String nichts anderes als ein Pointer auf das erste Zeichen der Zeichenkette.

Initialisierung

char string[100] = "Hello";

Wichtig: Das Zuweisen von Zeichenketten wie im obrigen Beispiel ist nur beim Initialisieren möglich, siehe String > Strings verändern

Wissenswert

0-Terminator

Das letzte Zeichen muss immer 0x00 (Nullterminator sein), siehe ASCII, sonst weiß C nicht dass der String vorbei ist und liest weiter fröhlich aus dem Arbeitsspeicher!

Strings verändern

char string[80] = "Hallo";
 
string = "Hello"; // Funktioniert nicht, string ist ein Pointer!

Möglichkeit:

strncpy

Möglichkeit:

char string[80] = "Hallo";
 
string[1] = "x";
 
string; // Hxllo

Möglichkeit:

char string[50] = "Hello";
 
char string2[50] = "Test";
for(int i=0; i<50; i++) {
    string[i] = string2[i];
}
 
string; // Test