Wie funktionieren Strings und Char Arrays in C?
Keine Führer, die ich gesehen habe, scheinen dies sehr gut zu erklären.
Ich meine, Sie können Speicher für eine zuweisenchar*
, oder schreibenchar[25]
stattdessen? Was ist der Unterschied? Und dann gibt es Literale, die nicht manipuliert werden können? Was ist, wenn Sie einer Variablen eine feste Zeichenfolge zuweisen möchten? Mögen,stringVariable = "thisIsALiteral"
, wie manipuliert man es danach?
Kann hier jemand den Rekord aufstellen? Und im letzten Fall, mit dem Wortlaut, wie sorgen Sie für eine Nullterminierung? Ich finde das sehr verwirrend.
EDIT: Das eigentliche Problem scheint zu sein, dass, wie ich es verstehe, Sie diese verschiedenen Konstrukte jonglieren müssen, um auch einfache Dinge zu erreichen. Zum Beispiel nurchar *
kann als Argument oder Rückgabewert übergeben werden, aber nurchar[]
kann ein Literal zugewiesen und geändert werden. Ich denke, es ist offensichtlich, dass wir häufig / immer in der Lage sein müssen, beides zu tun, und genau hier liegt meine Gefahr.