Menu
Coddy logo textTech

Was ist ein Array?

Ein Array ist eine Datenstruktur, die eine Sammlung von Werten desselben Typs in einem zusammenhängenden Speicherblock ablegt. Jeder Wert, Element genannt, wird über seine Positionsnummer erreicht, den Index, der in den meisten Sprachen bei 0 beginnt.

Von Kevin Spektor, Mitgründer & CTO

Aktualisiert am 24. September 2026

Eine Wetter-App, die die Temperaturen der Woche anzeigt, braucht sieben Zahlen. Sie könnte sieben einzelne Variablen verwenden, monday, tuesday und so weiter, aber dann könnte keine Schleife sie durchlaufen, und ein achter Tag hieße neuen Code schreiben. Ein Array legt alle sieben Zahlen unter einem Namen ab, temperatures, in nummerierten Plätzen von 0 bis 6.

Wie ein Array funktioniert

Ein Array hält seine Elemente nebeneinander in einem einzigen Speicherblock, und jedes Element belegt gleich viele Bytes. Durch diese Anordnung findet der Computer jedes Element mit einer einzigen Rechnung:

address of element i = start address + i × element size

Angenommen, ein Array aus 32-Bit-Ganzzahlen (je 4 Bytes) beginnt an der Speicheradresse 1000. Element 0 liegt bei 1000, Element 1 bei 1004, Element 2 bei 1008 und Element 3 bei 1012. Element 3 oder Element 3.000.000 zu erreichen, kostet denselben einzelnen Schritt. Deshalb nennt man das Lesen eines Arrays über den Index konstante Zeit, geschrieben O(1).

Pythons Modul array speichert rohe Zahlen genau so, also kannst du die Rechnung überprüfen:

4 bytes per element
16 bytes in total
scores[0] = 90 at address 1000
scores[1] = 75 at address 1004
scores[2] = 88 at address 1008
scores[3] = 62 at address 1012

Diese Formel erklärt auch, warum die meisten Sprachen bei 0 zu zählen beginnen. Der Index ist ein Versatz (Offset): wie viele Elemente vom Anfang aus zu überspringen sind. Das erste Element ist 0 Elemente vom Anfang entfernt, also ist sein Index 0, und das letzte Element eines Arrays der Länge n hat den Index n − 1. Einige Sprachen, etwa Lua, MATLAB, R und Fortran, beginnen stattdessen bei 1.

Ein Array in Python verwenden

Der meiste Python-Code verwendet die eingebaute list als Array. Du legst sie mit eckigen Klammern an, liest und änderst Elemente über den Index und fragst ihre Länge mit len() ab:

18
25
19
5
[18, 22, 25, 23, 19, 20]

Ein negativer Index zählt vom Ende, also ist temperatures[-1] das letzte Element. Diese Abkürzung gibt es nur in Python; C und Java kennen keine negativen Indizes.

Was Array-Operationen kosten

Die zusammenhängende Anordnung macht manche Operationen schnell und andere langsam. Die Kosten wachsen mit n, der Anzahl der Elemente:

OperationBeispiel in PythonKosten
Ein Element über den Index lesen oder änderna[3] = 7O(1), ein Schritt
Ein Element am Ende anhängena.append(7)Im Durchschnitt O(1)
Am Anfang einfügen oder entfernena.insert(0, 7)O(n), jedes Element rückt weiter
Einen Wert in einem unsortierten Array finden7 in aO(n), prüft eins nach dem anderen
Einen Wert in einem sortierten Array findenBinäre SucheO(log n)

Einfügen am Anfang ist langsam, weil jedes Element einen Platz weiterrücken muss, um Platz zu schaffen. Ein unsortiertes Array zu durchsuchen bedeutet eine lineare Suche, die jedes Element der Reihe nach prüft, während ein sortiertes Array eine binäre Suche erlaubt, die den verbleibenden Bereich bei jedem Schritt halbiert.

Ein Array durchlaufen

Arrays und Schleifen gehören zusammen: Eine Schleife besucht jedes Element der Reihe nach, was man Iteration nennt. Dieselben paar Zeilen bewältigen ein Array mit 5 Elementen oder mit 5 Millionen.

Total: 28.5
Most expensive: 12.0

Arrays in anderen Sprachen

In C hat ein Array eine feste Größe, die bei der Deklaration festgelegt wird, und es enthält rohe Werte eines einzigen Typs. sizeof gibt seine Größe in Bytes an:

int scores[5] = {90, 75, 88, 62, 100};   /* 5 × 4 bytes = 20 bytes */

Auch Java-Arrays haben eine feste Länge, und neue Elemente starten mit einem Standardwert, etwa 0 bei Zahlen. Brauchst du in Java ein Array, das wächst, verwendest du ArrayList:

int[] scores = new int[5];   // five elements, all 0
scores[0] = 90;

JavaScript-Arrays wachsen und schrumpfen frei und können Typen mischen, etwa [1, "two", true].

Arrays, die wachsen, wie Pythons list, Javas ArrayList und C++' std::vector, heißen dynamische Arrays. Sie reservieren am Ende zusätzlichen Platz. Ist dieser Platz aufgebraucht, belegen sie einen größeren Block, kopieren jedes Element hinein und machen weiter. Die Kopiervorgänge sind selten genug, dass das Anhängen im Durchschnitt schnell bleibt.

Ein Array kann auch andere Arrays enthalten. grid[row][col] liest eine Zelle eines zweidimensionalen Arrays, die Anordnung, die man für Spielbretter, Tabellen und Bilder verwendet. Die C-Anleitung zu mehrdimensionalen Arrays zeigt, wie sie im Speicher liegen.

Typische Fehler

Um eins daneben (off by one). Ein Array mit 3 Elementen hat die Indizes 0, 1 und 2, also liegt Index 3 hinter dem Ende. Python bricht mit einem Fehler ab:

IndexError: list index out of range

Java wirft eine ArrayIndexOutOfBoundsException, und JavaScript gibt stillschweigend undefined zurück. C prüft gar nichts: Über das Ende hinaus zu lesen ist undefiniertes Verhalten, das Datenmüll liefern oder das Programm mit einem Segmentation Fault abstürzen lassen kann.

Kopieren durch Zuweisung. In Python, Java und JavaScript kopiert b = a kein Array; beide Namen verweisen auf dasselbe, also ändert eine Änderung an b auch a. Für eine echte Kopie verwende a.copy() in Python oder [...a] in JavaScript. Die Seite zur Variablen erklärt, warum.

Wie es weitergeht

Ein Array ist nur mit einer Schleife nützlich, die es durchläuft, also lies als Nächstes, was Iteration ist, und was ein Byte ist, für die Einheit hinter den Elementgrößen oben. Die Anleitung zu Python-Listen behandelt Slicing, Sortieren und Listenmethoden, und die Visualisierung der verketteten Liste zeigt die Struktur, die schnellen Indexzugriff gegen schnelles Einfügen tauscht.

Häufig gestellte Fragen

Was ist ein Array in der Mathematik?
In der Grundschulmathematik ist ein Array eine Anordnung von Gegenständen in gleich langen Reihen und Spalten, etwa 3 Reihen mit je 4 Punkten. Damit wird Multiplikation veranschaulicht: Zählt man die Punkte, ergibt sich 3 × 4 = 12. Ein zweidimensionales Array in einem Programm ist dasselbe Bild, nur dass jede Position einen Wert enthält.
Was ist ein Beispiel für ein Array?
Eine Liste der Temperaturen einer Woche, [18, 21, 25, 23, 19, 17, 20], ist ein Array aus sieben Zahlen, in dem temperatures[0] der Wert für Montag ist. Weitere alltägliche Beispiele sind die Pixel einer Bildzeile, die Zeichen eines Strings und die Punktestände in der Bestenliste eines Spiels.
Wie erklärt man einem Kind ein Array?
Vergleich es mit einem Eierkarton. Der Karton hat einen Namen, eine feste Anzahl Mulden in einer Reihe, und jede Mulde enthält ein Ei. Du findest ein Ei über die Nummer seiner Mulde, und Programmierer fangen beim Zählen der Mulden bei 0 an.
Was steckt in einem Array?
Ein Array enthält Elemente, also die einzelnen darin gespeicherten Werte, jedes an seinem eigenen Index. In C und Java haben alle Elemente denselben Typ, etwa alle int oder alle double. Python-Listen und JavaScript-Arrays können Typen mischen, weil sie Verweise auf Werte speichern statt der Werte selbst.
Was ist der Unterschied zwischen einem Array und einer Liste?
Ein Array legt seine Elemente im Speicher direkt nebeneinander ab, also lässt sich jedes Element direkt über den Index erreichen. Eine verkettete Liste speichert jedes Element einzeln mit einem Zeiger auf das nächste, also musst du, um das 1.000. Element zu erreichen, an den ersten 999 vorbeigehen. Pythons eingebaute list ist keine verkettete Liste: Sie ist ein dynamisches Array, das wächst, wenn du Elemente hinzufügst.
Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S