X
    Categories: Technik

Arrays / Felder – Viele Variablen einfach verwalten

In Arrays können Sie mehrere Variablen eines Datentyps unter einem Namen speichern. Das erleichtert den Zugriff auf größere Datenmengen erheblich.

Statt viele Variablen einzeln zu deklarieren, können Sie sogenannte Arrays verwenden. Arrays sind ein sehr nützliches Werkzeug für die tägliche Programmierarbeit, das Sie unbedingt zu nutzen lernen sollten.

Was sind Arrays?

Als Programmierer wissen Sie, dass eine Variable genau einen Wert enthalten kann. Bei der Deklaration geben Sie der Variablen einen Namen und einen Datentyp. Nun denken Sie einmal an den folgenden Fall: Sie möchten in Ihrem Programm 1000 Messwerte vom Typ float speichern. Müssen Sie dann 1000 Variablen deklarieren? Das könnte dann aussehen wie folgt:

float messwert1;

float messwert2;

float messwert3;

// usw.

Sie können sich vorstellen, dass das keine Lösung ist, die Sie in Ihren Programmen verwenden sollten. Viel besser ist hier die Verwendung von Arrays. Arrays oder Felder sind eine Menge von Variablen gleichen Datentyps, die mit demselben Namen angesprochen und nur einmal deklariert werden. Sie können also ein Feld mit 1000 Elementen deklarieren. Jedes Element wird über einen sogenannten Index angesprochen – beginnend bei 0. Das erste Element hat also den Index 0, das zweite Element den Index 1 und so weiter.

Deklaration von Feldern

Arrays müssen Sie deklarieren wie gewöhnliche Variablen. Sie erhalten einen Namen und einen Datentyp. Der einzige Unterschied ist, dass Sie die Größe des Arrays in eckigen Klammern angeben müssen. Beachten Sie dabei, dass Arrays bei C/C++ standardmäßig statisch sind. Das bedeutet, wenn Sie ein Array mit 1000 Elementen deklarieren, wird Speicherplatz für 1000 Elemente reserviert, auch wenn Sie nur zwei Elemente benutzen.

int meinArray[10];

In der obigen Zeile wird ein Array mit dem Namen meinArray deklariert. Das Feld hat 10 Elemente, die alle vom Datentyp int sind. Beachten Sie, dass ein Array nur Elemente des gleichen Typs enthalten kann. Nun können Sie mit dem Feld arbeiten.

Verwendung von Arrays

Mit einem Array können Sie arbeiten wie mit jeder anderen Variablen auch: Sie können Werte darin speichern, Sie können die Werte auslesen, weiterverarbeiten, für Berechnungen benutzen usw. Das Einzige, das Sie wirklich beachten müssen, ist, dass Sie Ihrem Programm mitteilen müssen, mit welchen Element Sie arbeiten möchten. Dazu dient der Index, der wie bereits erwähnt jedes Element identifiziert. Im folgenden Beispiel wird zuerst das erste Element auf dem Bildschirm ausgegeben, dass das zweite und dann das neunte.

cout << „Das erste Element: “ << meinArray[0] << endl;

cout << „Das erste Element: “ << meinArray[1] << endl;

cout << „Das erste Element: “ << meinArray[8] << endl;

Sie müssen beachten, dass der Index des ersten Elements 0 und nicht 1 ist. Dann ist der Index des letzten Elements immer die Gesamtanzahl – 1. Das letzte Element in unserem Array mit zehn Elementen hat also den Index 9. Der Index 10 ist nicht definiert. Wenn Sie in C /C++ versuchen, auf ein nicht definiertes Element zugreifen, erhalten Sie leider keine Fehlermeldung. Das Programm tut einfach etwas und das ist im Allgemeinen falsch. Schwer auffindbare Fehler können das Resultat sein.

In den nächsten Programmzeilen werden das erste und das zweite Element jeweils um einen Wert erhöht.

meinArray[0] = meinArray[0] + 4;

meinArray[1] = meinArray[1] + 6;

Sie sehen, Sie können wie gewohnt mit Arrays arbeiten. Denken Sie nur immer an die eckigen Klammern und den Index. Die Angabe des Elements wird bei jeder Aktion mit einem Array benötigt.

for-Schleifen – die erste Wahl bei Arrays

Meistens möchte man eine Aktion mit allen Werten eines Arrays durchführen, z.B. bei der Ausgabe. Sie können natürlich wie oben in dem Beispiel jedes Element mit cout einzeln auf dem Bildschirm ausgeben. Dann müssten Sie aber immer, wenn Sie die Größe verändern, auch die Ausgabe anpassen. Besser ist natürlich die Verwendung einer Schleife. Wie geschaffen für Felder sind die for-Schleifen.

for-Schleifen haben einen definierten Anfang, ein definiertes Ende und die Zählvariable wird bei jedem Durchlauf um einen bestimmten Wert höher oder niedriger. Wenn Sie also eine Schleife bei 0 starten und bei Anzahl der Arrayelemente – 1 enden lassen und die Zählvariable bei jedem Durchlauf um eins erhöhen, durchläuft die Schleife jedes Element des Arrays. Wenn Sie die Zählvariable als Index verwenden, können Sie in der Schleife einmal auf jedes Element zugreifen. Das folgende Beispiel zeigt eine Ausgabe des Arrays in einer for-Schleife.

for(int i = 0; i < 10; i++)

{

cout << meinArray[i];

}

Sie müssen nur darauf achten, dass Sie nicht auf ein nicht definiertes Element zugreifen.

Beispiel

Im Beispiel wird die Anzahl der Elemente in der Konstanten ANZAHL gespeichert. Damit brauchen Sie nur die Konstante zu ändern, wenn das Array mehr oder weniger Elemente aufnehmen und bearbeiten soll, und dank der for-Schleifen müssen Sie keine Änderungen an dem restlichen Programm vornehmen.

#include

#include

#include

int main()

{

const int ANZAHL = 5;

// Deklaration des Arrays.

int messwerte[ANZAHL];

// Werte in den ersten drei Elementen speichern.

messwerte[0] = 5;

messwerte[1] = 6;

messwerte[2] = 4575;

// Einlesen von Elementen in einer for-Schleife.

for (int i = 0; i < ANZAHL; i++)

{

cout << „Bitte geben Sie den Messwert “ << i << “ ein: „;

cin >> messwerte[i];

}

// Ausgabe der Elemente in einer for-Schleife.

for (int i = 0; i < ANZAHL; i++)

{

cout << i + 1 << „. Messwert: “ << messwerte[i] << endl;

}

getch();

}