Inhalt

Vielfältige Anwendungen:

2-dimensionales Array:

int t[2][3];	// 2 Zeilen, 3 Spalten

Vorstellen kann man sich ein 2-dimensionales Array wie eine Tabelle.

Zugriff

t[Zeile][Spalte]
t[0][1] // Zugriff auf Zeile 0, Spalte 1
t[0][0] // ganz links oben
t[1][2] // ganz rechts unten

Übergabe an Funktionen

Nur der erste Index darf leer gelassen werden.

#define ZEILEN 2
#define SPALTEN 3

void input( int tabelle[][SPALTEN] );

void main() {
    int tabelle[ZEILEN][SPALTEN];
    
    input( tabelle );
}

void input(int tabelle[][SPALTEN]) {
    int z;	// Zeilen
    int s;	// Spalten
    
    for( z = 0; z < ZEILEN; z++ ) {
        for( s = 0; s < SPALTEN; s++ ) {
            scanf( "%d", &tabelle[z][s] );
        }
    }
}

Um die Übersicht nicht zu verlieren sollten immer die gleichen Variablennamen für Zeile und Spalte verwendet werden. Z.B.: z (oder i) für die Zeile, s (oder j) für die Spalte. Außerdem hilft es sehr die Anzahl der Zeilen und Spalten als globale Konstanten zu definieren.

#define ZEILEN 2

// oder besser in C++
const int ZEILEN=2;

Initialisierung

Initialisierung eines mehrdimensionalen Arrays – erster Index darf leer bleiben:

int tabelle[][3] = {
        { 3, 4, 5 },
        { 6, 7, 8 }
    };
Programmieren in C - Teil 2