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).