Ein Array ist eine statische Datenstruktur, in der Werte gleichen Typs gespeichert werden können.
Ein Array gehört zu den statischen Datenstrukturen, das heißt, ihre Größe ist fest.
Sie speichern Informationen des gleichen Typs ab, also zum Beispiel nur int oder nur bool, nicht aber beides gemischt.
Du kannst dir ein Array wie einen Apothekerschrank vorstellen:
In eine Schublade kann dabei nur ein Medikament gelegt werden.
So ist es auch bei der Datenstruktur: an jedem Index wird ein Wert gespeichert.
Der Vorteil einer Arrays ist, du kannst direkt auf die einzelnen Felder zugreifen.
Ein Nachteil ist jedoch, dass du schon vorher die Größe kennen musst (also die Menge an Daten, die im Array gespeichert werden soll). Auch können nur Informationen mit dem gleichen Typ in einem Array gespeichert werden.
Es gibt mehrere Arten von Arrays, die zwei wichtigsten sind jedoch:
- Eindimensionales Array
- Mehrdimensionales Array
Eindimensionales Array
Ein eindimensionales Array ist bei vielen Programmiersprachen ein Objekt mit mehreren Feldern. In jedes Feld kann ein Element gespeichert werden. Dabei müssen die Elemente alle dem gleichen Typ entsprechen.
Um auf diese Elemente zugreifen zu können, sind die Felder mit einem Index versehen. Dieser startet bei den meisten Programmiersprachen bei 0.
Schau dir folgendes Array an:
Um auf die 42 zuzugreifen, musst du den Index angeben, an dem dieser Wert gespeichert ist, hier wäre das der Index 1, da der Index ja meist bei 0 startet.
Im Arbeits-Speicher wird ein Teil mit dem Array besetzt. Dies ist der Speicherbereich des Arrays. Dieser wird in seine Felder unterteilt. Rufst du also mit dem Index ein Feld auf, adressierst du diesen Bereich im Speicher.
Mehrdimensionales Array
In Arrays können nicht nur primitive Datentypen, sondern auch weitere Datenstrukturen gespeichert werden. So kann auch ein Array in einem Array angelegt werden. Diese nennt man auch zweidimensionale Arrays (natürlich kann innerhalb des zweiten Arrays noch ein Array angelegt werden und so weiter und so weiter).
Hierbei wird an jedem Index ein eigenes Array gespeichert.
Aber auch hier müssen alle Elemente dem gleichen Typ entsprechen.
Um auf diese Elemente zuzugreifen, gehst du erst einmal auf das Feld in der ersten Dimension. Von dort aus sprichst du dann das Feld in der zweiten Dimension an.
Schau dir folgendes Array an:
Um nun auf den Wert 3 zuzugreifen, musst du angeben, auf welches Feld in der ersten Dimension und auf welches in der zweiten Dimension zugegriffen werden soll. In diesem Fall wäre es das nullte Feld in der ersten und das erste in der zweiten Dimension.
Anwendungsbereiche
Zweidimensionale Arrays werden beispielsweise in der Bildverarbeitung genutzt, um alle Pixel eines Bilds zu speichern.
Dabei entspricht die erste Dimension meist der x-Koordinate und die zweite der y-Koordinate des Bildes.