Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » 0-terminierte Zeichenketten » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen 0-terminierte Zeichenketten
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
thomes
Grünschnabel


Dabei seit: 29.10.2006
Beiträge: 2

0-terminierte Zeichenketten Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hi,

kann mir einer sagen was eine 0-terminierte Zeichenketten ist?
29.10.2006 17:17 thomes ist offline E-Mail an thomes senden Beiträge von thomes suchen Nehmen Sie thomes in Ihre Freundesliste auf
David1979
Mitglied


Dabei seit: 26.09.2006
Beiträge: 27

RE: 0-terminierte Zeichenketten Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bei der Entwicklung von Programmiersprachen haben sich zwei Arten von Stringimplementierungen eingebürgert. Die erste ist, dass man die Zeichenkette in einem Array mit einem Längenfeld ablegt. Die Länge ist dabei per Definition festgelegt. Nachteil ist hier, dass immer Speicher für die maximale Stringlänge reserviert wird.

Die zweite Methode zur Speicherung ist der Nullterminierte String. Der Name hat sich deshalb eingebürgert, da das Endezeichen (Terminator) mit einem ASCII 0 dargestellt wird. Man hat also im Speicher eine Folge von Zeichen stehen und das letzte Zeichen ist dann das ASCII 0 Zeichen. Hier wird der String nicht in einem Array gespeichert sondern mit Referenzen gearbeitet, was zwar einen Mehraufwand für die Speicherverwaltung nach sich zieht, aber dafür nur soviel Speicher reserviert wird, wie der String benötigt. In der Programmiersprache C ist dieses so realisiert. Nullterminierte Strings haben meist eine maximale Länge von 32767 Zeichen.

Java verbindet beide Methoden in seinem Stringobjekt. Es wird mit einer Referenz auf die Zeichenkette gearbeitet. Die Zeichenkette selber steht in einem Array und darf nicht mehr verändert werden. Wird ein String verändert, dann wird das alte verworfen und ein neues Objekt angelegt.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von David1979: 29.10.2006 18:15.

29.10.2006 18:14 David1979 ist offline E-Mail an David1979 senden Beiträge von David1979 suchen Nehmen Sie David1979 in Ihre Freundesliste auf
kurellajunior kurellajunior ist männlich
Support


Dabei seit: 07.09.2006
Beiträge: 42
Herkunft: Von hier

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Nachtrag:

Bei 0-terminierten Zeichenketten und direkten Speicheroperationen kann es passieren, dass das Endebyte "0" überschireben wird - sollte der Programmierer unsauber gearbeitet haben.
In solch einem Fall kann das Ergebnis verhehrend sein.
30.10.2006 18:08 kurellajunior ist offline E-Mail an kurellajunior senden Beiträge von kurellajunior suchen Nehmen Sie kurellajunior in Ihre Freundesliste auf Fügen Sie kurellajunior in Ihre Kontaktliste ein
thomes
Grünschnabel


Dabei seit: 29.10.2006
Beiträge: 2

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Dankeschön :-)
03.11.2006 19:34 thomes ist offline E-Mail an thomes senden Beiträge von thomes suchen Nehmen Sie thomes in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » 0-terminierte Zeichenketten