Wie Arrays in C ++ zu deklarieren

Der übliche Weg, um ein Array zu deklarieren ist, einfach den Typnamen durch einen Variablennamen gefolgt Line-Up, von einer Größe in Klammern gefolgt, wie sie in dieser Codezeile:

int Numbers [10] -

Dieser Code deklariert ein Array von 10 ganzen Zahlen. Das erste Element wird dem Index 0 und das letzte Element bekommt Index 9. Denken Sie immer daran, dass in C ++ Arrays beginnen bei 0, und der höchste Index ist eine weniger als die Größe. (Merken, Index bezieht sich in der Anordnung auf die Position, und Größe bezieht sich auf die Anzahl der Elemente in dem Array.)

Eine häufig gestellte Frage, die die übliche Programmierung Student fragt ist, # 147-Kann ich nur ein Array deklarieren, ohne eine Größe # Angabe 148- Die Linie würde wie folgt aussehen?:

int Zahlen []

In bestimmten Situationen können Sie ein Array ohne setzen eine Zahl in den Klammern erklären. Zum Beispiel können Sie ein Array ohne Angabe der Anzahl der Elemente initialisieren:

int MyNumbers [] = {1,2,3,4,5,6,7,8,9,10} -

Der Compiler ist intelligent genug, um zu zählen, wie viele Elemente, die Sie in den geschweiften Klammern gesetzt, und dann wird der Compiler macht, dass die Größe des Arrays zu zählen.

die Array-Größe angeben hilft, Ihre Chancen, Fehler zu verringern, Wanzen, überall Wanzen. Außerdem hat es den Vorteil, dass in der tatsächlichen Erklärung, wenn die Zahl in Klammern ist die Anzahl der Elemente in Klammern entsprechen, der Compiler einen Fehler ausgibt, zumindest, wenn die Zahl ohnehin geringer ist. Folgende

int MyNumbers [5] = {1,2,3,4,5,6,7,8,9,10} -

ergibt dies Compiler-Fehler:

Fehler: zu viele Initialisierer für 'int [5]'

Aber wenn die Zahl in Klammern größer ist als die Anzahl der Elemente ist, wie im folgenden Code, werden Sie nicht einen Fehler. Also sei vorsichtig!

int MyNumbers [15] = {1,2,3,4,5,6,7,8,9,10} -

Sie können auch überspringen Sie die Array-Größe angeben, wenn Sie ein Array in eine Funktion übergeben, wie folgt aus:

int AddUp (int Numbers [], int Count) {int loop-int sum = 0-for (loop = 0- Schleife lt; Das Zählen Schleife ++) {sum + = Numbers [loop] -} return Summen-}

Diese Technik ist besonders mächtig, weil die AddUp Funktion kann für jede Größe Array arbeiten. Sie können die Funktion wie folgt aufrufen:

cout lt; lt; AddUp (MyNumbers, 10) lt; lt; endl-

Aber auf diese Weise, es zu tun ist irgendwie ärgerlich, weil Sie die Größe angeben müssen jedesmal, wenn Sie in die Funktion aufrufen. Allerdings können Sie dieses Problem umgehen. Schauen Sie sich diese Codezeile:

cout lt; lt; AddUp (MyNumbers, sizeof (MyNumbers) / 4) lt; lt; endl-

Mit der Anordnung, die Größe von Betreiber sagt Ihnen, wie viele Bytes es verwendet. Aber die Größe des Arrays ist in der Regel die Anzahl der Elemente, nicht die Anzahl von Bytes. So teilen Sie das Ergebnis Größe von von 4 (die Größe jedes Elements).

Aber jetzt haben Sie die magische Zahl, 4, dort zu sitzen. (Magic Nummerbezieht sich auf eine scheinbar willkürliche Zahl, die irgendwo in den Code gestopft wird) So eine etwas bessere Ansatz, diese Linie zu geben wäre.:

cout lt; lt; AddUp (MyNumbers, sizeof (MyNumbers) / sizeof (int)) lt; lt; endl-

Nun ist diese Zeile Code funktioniert, und hier ist der Grund: Die Größe von die Anordnung durch die geteilte Größe von Jedes Element in dem Array gibt die Anzahl der Elemente in dem Array.

Menü