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.
Deine Meinung ist gefragt:
Sei der Erste und teile uns Deine Meinung mit.
Kommentare