Ein Feld (engl. Array) ist die Zusammenfassung mehrere
Elemente
desselben Typs in einer Variablen. Sehen wir uns als Erklärung
das Programmierbeispiel genauer an:
a[0] = 1;
a[1] = 2;
cout <<
Durch die Deklaration
legen wir gleich zwei Integer hintereinander im Speicher an. Auf die
einzelnen Werte der Integer können wir nachher durch
Indizes in eckigen Klammern zugreifen. Sowohl
Dass wir auf das erste
Element unseres Arrays durch
Arrays lassen sich, wie Variablen, bei der Deklaration initialisieren. Dazu verwendet man eine Notation aus geschweiften Klammern und durch Kommata getrennten Elementen.
Warum aber haben wir genau zwei Variablen verwendet? Und woher sollen wir nachher wissen, wie weit wir in einer for-Schleife zählen können, um die durchnummerierten Elemente zu verändern? Besser geht es deshalb so:
{
c[i] =
}
In der for-Schleife ist zu erkennen, dass wir auf
Der Lohn für diese mögliche Fehlerquelle ist Geschwindigkeit im Vergleich zu anderen Programmiersprachen. Leider gibt es in C++ nicht die Möglichkeit, ohne Umwege Arrays mit dynamischer, also wechselnder, Größe anzulegen. Die Größe einfacher Arrays ist, wie im Beispiel, immer fest.
Zu etwas Erfreulicherem. Mit Arrays lassen sich auch mehrdimensionale Felder anlegen. In unserem Beispiel erzeugt und initialisiert
{ 3, 4 } };
ein zweidimensionales (2x2) Feld mit vier Werten. Die
geschwungenen Klammern und Kommata sind jetzt ineinander verschachtelt.
Genau genommen deklarieren und initialisieren wir genau zwei
Variablen vom "Typ"
Durch eine Notation mit doppelten eckigen Klammern kann danach auf die Elemente unseres Feldes zugegriffen werden:
cout <<
Jetzt laufen eben zwei Indizes von 0 bis jeweils (2-1). Bleiben wir bei der Erklärung, dass wir eigentlich zwei Deklarationen ineinander verschachtelt haben. Der Zugriff auf die Elemente ist durch zwei ineinander verschachtelte for-Schleifen möglich. Genau das tun wir am Ende des Beispiels:
{
{
e[j][i] = int(j)*int(N) + int(i);
}
}
Dass wir außen
- Deklariere ein dreidimensionales Array aus
float s, initialisiere es und gebe dessen Werte aus.