Suche
Suche Menü

Arrays (Felder)

Stelle dir vor, du sollst die Software für eine Wetterstation schreiben. Das Programm soll die gemessenen Temperaturwerte zwischenspeichern und die Durchschnitts-Temperatur des Tages berechnen.

Wie wir Werte zwischenspeichern, haben wir bereits gelernt: Wir verwenden dafür Variablen. Für die Berechnung der Durchschnitts-Temperatur könnten wir z.B. jede Stunde den Wert messen und speichern. Das wären 24 Variablen. Was ist aber, wenn das Ergebnis zu ungenau ist und jede Minute gemessen werden soll? Dann wären das 24 mal 60 Variablen, also 1440. Über tausend Variablen zu deklarieren hört sich nach viel Arbeit an:

float messwert1, messwert2, messwert3, ..., messwert1439, messwert1440;

Einfacher geht es mit einem Feld von Variablen. Hierfür benötigen wir lediglich eine Deklaration:

float messwerte[1440];

Hier haben wir 1440 float Variablen auf einen Schlag angelegt. Bei der Deklaration eines Feldes beginnen wir, wie auch bei einfachen Variablen, mit Datentyp und Name. Danach folgen eckige Klammern. In diese schreiben wir die Feldgröße, also die Anzahl der Variablen, welche wir erstellen wollen. Der Zugriff auf diese Variablen erfolgt mittels einer Nummer, auch Index genannt. Dieser Index liegt im Bereich 0 und Feldgröße minus 1, da wir bekanntlich bei Null anfangen zu zählen.

Erstellen wir ein Feld mit der Größe 5, d.h. das Feld kann 5 Werte speichern. Der erste Wert kann mit dem Index 0 und der letzte Wert mit dem Index 4 angesprochen werden. Hier ein Beispiel mit einem kleineren Feld, das wir vollständig mit Werten füllen:

float messwerte[5];

messwerte[0] = 23.0;
messwerte[1] = 22.2;
messwerte[2] = 21.7;
messwerte[3] = 20.9;
messwerte[4] = 20.5;

printf("erster Wert (Index 0): %.2f\n", messwerte[0]);
printf("letzer Wert (Index 4): %.2f\n", messwerte[4]);

erster Wert (Index 0): 23.00
letzer Wert (Index 4): 20.50

Der englische und gängigere Begriff für Feld ist Array.