Was bedeutet zero-terminated String?
05.04.2008
Author: N43
In C stößt man häufig auf den Begriff zero-terminated (oder 0 terminierter) String. Was aber steckt dahinter?
Betrachten wir zur Aufklärung folgendes Beispiel:
C - Code:
char *s = "Hallo Welt!";
Im Speicher wird der String folgendermaßen gespeichert.
Zu sehen ist am Ende das 0-Zeichen, das der Zahl 0 (nicht dem Zeichen '0') entspricht. Dadurch wird das Ende eines C-Strings eindeutig markiert.
Es muss also nicht mehr zusätzlich die Länge des Strings gespeichert werden, allerdings entfällt die Möglichkeit das 0-Zeichen mitten im String zu speichern.
Für C++ Nutzer:
Die Klasse String speichert intern die Länge des Strings und kein Zusätzliches 0-Zeichen. Um aus einem Objekt der String Klasse einen C-String zu bekommen bietet die Klasse string die Funbktion c_str() an.
Maik81ftl
14.03.2011
Author: Maik81ftl
Un wie verhält sich das ganze bei Lazarus und Linux???
mfg Maik81ftl
Kommentare