Retour au cours

Tableaux multidimensionnels (Tableaux 2D)

Langage C : de Zéro à Héros - Le Guide Complet pour Débutants

Leçon 29 : Tableaux multidimensionnels (Tableaux 2D)

Les tableaux multidimensionnels sont des tableaux de tableaux. Le plus courant est le tableau en 2D, souvent utilisé pour représenter des tables, des grilles ou des matrices.

Déclaration et Initialisation

Un tableau 2D nécessite deux dimensions : le nombre de lignes et le nombre de colonnes.

Syntaxe : type_de_donnees nom_tableau[lignes][colonnes];

c // Tableau représentant une matrice 3x4 int matrice[3][4];

// Initialisation (groupée par ligne) int nombres[2][3] = { {1, 2, 3}, // Ligne 0 {4, 5, 6} // Ligne 1 };

Accès aux éléments

On accède aux éléments à l'aide de deux indices : nom_tableau[index_ligne][index_colonne].

c // Accès à l'élément de la ligne 1, colonne 0 (qui est la valeur 4) int valeur = nombres[1][0];

matrice[0][0] = 10; // Assigne 10 à l'élément supérieur gauche

Itération avec des boucles imbriquées

L'itération sur un tableau 2D nécessite toujours des boucles imbriquées (une pour les lignes, une pour les colonnes).

c #define LIGNES 2 #define COLS 3

int main() { int grille[LIGNES][COLS] = {{1, 2, 3}, {4, 5, 6}};

for (int i = 0; i < LIGNES; i++) { // Boucle externe : Lignes
    for (int j = 0; j < COLS; j++) { // Boucle interne : Colonnes
        printf("%d\t", grille[i][j]);
    }
    printf("\n");
}
return 0;

}

Organisation en mémoire : Même si nous visualisons les tableaux 2D comme des tables, ils sont stockés de manière séquentielle en mémoire, ligne par ligne (ordre Row-Major).