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.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage