Die ASCII-Zero Character Array

Arrays in C ++ ein inhärentes Problem haben: Sie können nie wissen, nur durch im Array suchen, wie viele Werte in es tatsächlich gespeichert. die Größe eines Arrays zu wissen, ist nicht genug. Das sagt Ihnen, wie viele Werte der Array kann halten, nicht, wie viele es tatsächlich tut halten.

Der Unterschied ist wie der Unterschied zwischen dem, wie viel Gas-Tank Ihres Autos halten kann und wie viel Gas sie tatsächlich hat. Selbst wenn Sie Ihren Tank 20 Gallonen hält, müssen Sie noch eine Tankuhr, Ihnen zu sagen, wie viel drin ist.

Es gibt im Wesentlichen zwei Möglichkeiten der Spur der Datenmenge in einem Array zu halten:

  • Behalten eine Zählung der Anzahl von Werten in einer separateintvariable. Dies ist die Technik, durch die verwendete Arraytester Programm. Der Code, der Benutzereingabe liest verfolgt die Anzahl der Einträge in nCount. Das einzige Problem ist, dass das Programm weitergeben nCount entlang zu jeder Funktion, auf die sie vergangen ist die Nscores Array. Das Array ist nicht sinnvoll, ohne Wissen, wie viele Werte speichert.

  • Mit einem speziellen Wert in dem Array als ein Indikator des letzten Elements verwendet. Vereinbarungsgemäß ist dies die Technik für Zeichen-Arrays in C ++ verwendet.

Ein ASCII-Zeichen insbesondere ist kein Rechtscharakter: ' 0'. Dieser Charakter ist auch bekannt als Null Charakter. Es ist das Zeichen mit einem numerischen Wert von Null. Ein Programm kann verwenden die Null Zeichen als das Ende einer Folge von Zeichen.

Das Null-Zeichen hat keinen anderen Zweck als das Ende eines Zeichenfeldes signalisiert. Der Benutzer kann nie ein Null-Zeichen eingeben. Dies bedeutet, dass Sie nicht über einen separaten Zählvariable um passieren müssen - Sie immer das Ende der Schnur durch die Suche nach einem sagen kann, Null.

Die Designer von C und C ++ mochte diese Funktion so gut, dass sie sich auf sie als Standard für die Zeichenketten angesiedelt. Sie gaben ihm sogar einen Namen: die ASCII-Null Array oder ASCIIZ kurz.

Das Null Charakter hat eine weitere vorteilhafte Eigenschaft. Es ist das einzige Zeichen, dessen Wert betrachtet falsch in einem Vergleichsausdruck (beispielsweise in einer Schleife oder ob Erklärung).

Denken Sie daran, dass 0 oder Null gilt als falsch. Alle anderen Werte bewerten zu wahr. Dies macht Schreiben Schleifen, die ASCIIZ Saiten noch einfacher zu manipulieren.

Menü