Ich habe C für ziemlich lange verwendet, und ich habe dieses triviale Problem, über das ich abfragen möchte.Ist Nullzeichen beim Verteilen mit malloc enthalten
Angenommen, ich möchte ein Zeichen-Array erstellen, das bis zu 1000 Zeichen speichert. Wenn ich jetzt malloc für dasselbe verwende, dann gebe ich die Größe des Arrays als 1001 Zeichen [1000 Zeichen + Null] oder nur 1000 an?
Wenn ich auch auf dieses Problem gestoßen bin, wie hätte ich dann die Antwort auf diese Lösung selbst finden können, vielleicht mithilfe einiger Testprogramme. Ich verstehe, dass die Größe der Zeichenfolge ohne das Nullzeichen berechnet wird, aber wenn ich den Speicher für das gleiche zuweise, berücksichtige ich auch das Nullzeichen?
Sie müssen immer noch berücksichtigen, dass der Null-Terminator ein zusätzliches Byte benötigt. Wenn Ihre Zeichenfolge also 1000 Zeichen lang sein muss, ändert die Verwendung von "calloc()" nicht die Tatsache, dass Sie tausend und Ein Byte zum Speichern der Zeichenfolge. –