Du willst wissen, wie Strings in C funktionieren? Im folgenden Beitrag zeigen wir dir die einzelnen Befehle zum Thema Strings.
Inhaltsübersicht
Strings C – Was sind Strings?
Strings sind eine Art von Array, die nur aus Zeichen bestehen. Im Speicher werden sie mit der binären Null abgeschlossen. Das heißt für uns, dass wir sie ganz normal wie Arrays deklarieren können, aber auch, dass wir die Zeichenkette abspeichern können, ohne eine Länge für das Array explizit anzugeben.
Haben wir das getan, muss die ganze Länge des Speicherbereichs von der eingelesenen Speicherkette nicht vollständig ausgenutzt werden. Dabei musst du allerdings beachten, dass du auch über den reservierten Speicherbereich hinaus schreiben und damit Programm- und Rechenfehler erzeugen kannst.
Genau wie normale Arrays können wir einzelne Zeichen mittels eines Index ansprechen. Das Ende einer Zeichenkette markiert die binäre Null. Deswegen kannst du auch immer nur ein Zeichen weniger abspeichern als das Array fassen könnte. Das liegt daran, dass das letzte Zeichen mit eben dieser binären Null aufgefüllt wird.
char, char*name und die Bibliothek string.h
Werden sie als Eingabe-Parameter für eine Funktion übergeben, können sie entweder so: char [ ] oder so: char*name übergeben werden. Für diesen Schritt ist es wieder praktisch, dass wir die Länge nicht angeben müssen, da wir uns damit einen zusätzlichen Eingabeparameter sparen können.
Aber das eigentlich tolle an Strings ist, dass sie ihre eigene Bibliothek haben. In <string.h> gibt es eine Fülle von Funktionen, die dir die Arbeit mit diesen Arrays sehr erleichtern. Die wichtigsten davon zeigen wir dir jetzt.
Studyflix vernetzt: Hier ein Video aus einem anderen Bereich
strlen C, strcmp C und strcat C
Benutzt du strlen(string), so erhältst du die Länge deines Strings als Rückgabewert. Mit strcmp(str, string) kannst du zwei Strings vergleichen. Wenn die beiden gleich sind, erhältst du null als Rückgabewert. Sonst gibt diese Funktion einen Wert kleiner oder größer null zurück.
strcat(dest, src) ist ebenfalls eine sehr nützliche Funktion, denn mit ihr kannst du eine Zeichenkette an die andere anhängen. Damit wird zum Beispiel aus „Hallo“ „Hallo Welt!“. Der erste angegebene String ist dabei der Ort, an den beide Ketten gespeichert werden.
strcpy C und atoi C
Möchtest du stattdessen einen String kopieren, kannst du strcpy(dest, src) nutzen. Aber Achtung, hier gibt es noch etwas Wichtiges zu beachten. Hast du zum Beispiel in einen String mit dem Wert „Wolken“ einen String mit dem Wert „Sonne“ kopiert, ist dein Ergebnis nicht „Sonne“, sondern „Sonnen“. Das liegt daran, dass die übrigen Zeichen des Strings nicht gelöscht werden.
Die letzte Funktion, die du wirklich oft brauchen wirst, ist die atoi(string)-Funktion. Sie steht allerdings nicht in string.h sondern in stdlib.h.
Sie kann aus einem String wie etwa „Ich habe heute eine Pizza mit 12 Oliven bei Mario bestellt“ nur die Zahlen extrahieren. Das ist DANN praktisch, wenn du sie in eine int-Variable packen willst.
Jetzt weißt du alles, was du über Strings wissen musst und kannst endlich unkompliziert mit Zeichenketten arbeiten.
Strings — häufigste Fragen
(ausklappen)
Strings — häufigste Fragen
(ausklappen)-
Was bedeutet String?Ein „String“ ist eine Zeichenkette, also eine Folge von Zeichen. In C wird ein String typischerweise als Array von
chargespeichert und endet im Speicher mit dem Nullzeichen'\0', das das Ende der Zeichenkette markiert. -
Ist String ein Datentyp?„String“ ist in C kein eigener eingebauter Datentyp wie
intoderchar. Eine Zeichenkette wird in C stattdessen durch einchar-Array (z. B.char s[]) oder durch einen Zeiger aufchar(z. B.char *s) dargestellt. -
Was ist der Unterschied zwischen char und String?
charsteht in C für genau ein einzelnes Zeichen, zum Beispiel'A'. Ein „String“ ist dagegen eine Folge mehrererchar-Zeichen, die zusammen eine Zeichenkette bilden und am Ende durch'\0'abgeschlossen wird, zum Beispiel „Hallo“. -
Was ist ein Beispiel für eine Zeichenkette?Eine Zeichenkette ist zum Beispiel „Hallo“. In C kann man sie als
char s[] = "Hallo";schreiben; im Speicher entspricht das den Zeichen'H','a','l','l','o'und dem abschließenden'\0'.
Nach Beantwortung speichern wir deine Antwort, um Studyflix zu verbessern. Mehr dazu erfährst du in unserer Datenschutzerklärung.
C-Programmierung verstehen
Strings sind ein wichtiges Thema in der C-Programmierung und gehören zu den Grundlagen vieler Programme. Du arbeitest mit Datentypen, Variablen und Arrays und setzt Funktionen so ein, dass dein Programm mit Eingaben und Ausgaben sauber umgeht. So erkennst du, wie Daten im Speicher zusammenpassen und warum kleine Details über korrektes oder fehlerhaftes Verhalten entscheiden. Weitere Videos dazu findest du in unserem Informatikbereich.