Warum nicht numerischen arrays Ende mit einem '\0' oder null-Zeichen?

Warum nicht die numerische arrays Ende mit einem null-Zeichen?

Beispielsweise

char name[] = {'V', 'I', 'J', 'A', 'Y', '\0'};

Aber im Fall von numerischen arrays es ist kein Zeichen von null-Zeichen am Ende...

Beispielsweise

int marks[] = {20, 22, 23};

Was ist der Grund dahinter?

  • char[]s nicht zu Ende in '\0' entweder...
  • Relative
  • Alle Antworten unten keine Antwort auf die gestellte Frage.
  • Ja, ich weiß, Kumpel, dass Sie nicht richtig beantwortet, aber ich habe den Punkt, von jemandem die Antwort, warum '\0' wird nicht am Ende des numerischen arrays 🙂
  • Fragen Sie sich diese Frage: Können Sie sich einen Grund denken, würden Sie wollen, ein array von ganzen zahlen, von denen mindestens einer von Ihnen ist 0 ? Zum Beispiel int a[] = {0,1,2,3,4}; Den Wert 0 als int hat Nützlichkeit. Es gibt keine-so-Nützlichkeit in einem "string" in der C-Sinne, über Ihren Zweck als terminator, und als solche waren wir gesegnet mit der null-terminierte string-Konzept. Ich kann mir keinen anderen Weg, um zu quantifizieren, ist es darüber hinaus, dass (ehrlich gesagt). Und viele, darunter auch ich, wollen das pascal-Stil (Länge, Präfix) Zeichenkette hätte angenommen, statt.
  • Ich Schätze, dass 🙂
  • Warum alle Jungs posting, dass "array von chars ist kein string" als Antworten? Es ist absolut wahr, und es wurde geschrieben von Dennis Meng im ersten Kommentar. Aber, dass keineswegs die Frage beantwortet, die Frage!
  • Da es im Zusammenhang mit der Frage. In meiner Antwort, die ich klären, warum \n ist nicht für arrays.
  • Ich habe dieses array endete 0: int arr[] = {3, 4, 0}; ja, was?
  • Warum 4 upvotes für eine schlecht formulierte Frage? Was ist der Punkt?
  • Durch Konvention, in C eine Zeichen "string" endet mit einer "null" - Zeichen. Dies ist, weil die Länge der Zeichenfolge ist nicht "außen beschrieben". Alle array-nichts ist nutzlos, wenn Sie nicht wissen, es ist die Länge.

Schreibe einen Kommentar