BESTE WEBSITE FÜR WEBENTWICKLER
C Sprache. W3Schools auf Deutsch. Unterricht für Anfänger

Ua En Es

C Mehrdimensionale Arrays


Mehrdimensionale Arrays

Im vorherigen Kapitel haben Sie etwas über Arrays gelernt, die auch als eindimensionale Arrays bekannt sind. Diese sind großartig und etwas, das Sie beim Programmieren in C häufig verwenden werden. Wenn Sie Daten jedoch in tabellarischer Form speichern möchten, beispielsweise als Tabelle mit Zeilen und Spalten, Sie müssen sich mit mehrdimensionalen Arrays vertraut machen.

Ein mehrdimensionales Array ist im Grunde ein Array von Arrays.

Arrays können beliebig viele Dimensionen haben. In diesem Kapitel stellen wir die gebräuchlichsten vor; zweidimensionale Arrays (2D).


Zweidimensionale Arrays

Ein 2D-Array wird auch als Matrix (eine Tabelle aus Zeilen und Spalten) bezeichnet.

Um ein 2D-Array aus Ganzzahlen zu erstellen, sehen Sie sich das folgende Beispiel an:

int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };

Die erste Dimension stellt die Anzahl der Zeilen [2] dar, während die zweite Dimension die Anzahl der Spalten [3] darstellt. Die Werte werden in Zeilenreihenfolge angeordnet und können so visualisiert werden:

  SPALTE 0 SPALTE 1 SPALTE 2
REIHE 0 1 4 2
REIHE 1 3 6 8

Greifen Sie auf die Elemente eines 2D-Arrays zu

Um auf ein Element eines zweidimensionalen Arrays zuzugreifen, müssen Sie die Indexnummer sowohl der Zeile als auch der Spalte angeben.

Diese Anweisung greift auf den Wert des Elements in der ersten Zeile (0) und der dritten Spalte (2) des Matrix-Arrays zu.

Beispiel

int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };

printf("%d", matrix[0][2]);  // Ausgänge 2
Try it Yourself »

Denken Sie daran: Array-Indizes beginnen mit 0: [0] ist das erste Element. [1] ist das zweite Element usw.


Elemente in einem 2D-Array ändern

Um den Wert eines Elements zu ändern, beziehen Sie sich auf die Indexnummer des Elements in jeder der Dimensionen:

Das folgende Beispiel ändert den Wert des Elements in der ersten Zeile (0) und der ersten Spalte (0):

Beispiel

int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };
matrix[0][0] = 9;

printf("%d", matrix[0][0]);  // Gibt jetzt 9 statt 1 aus
Try it Yourself »

Schleife durch ein 2D-Array

Um ein mehrdimensionales Array zu durchlaufen, benötigen Sie eine Schleife für jede Dimension des Arrays.

Das folgende Beispiel gibt alle Elemente im Array Matrix aus:

Beispiel

int matrix[2][3] = { {1, 4, 2}, {3, 6, 8} };

int i, j;
for (i = 0; i < 2; i++) {
  for (j = 0; j < 3; j++) {
    printf("%d\n", matrix[i][j]);
  }
}
Try it Yourself »