Programmation C · 4 min read · Nov 19, 2025

Tutoriel de programmation C sous Linux Partie 24 - Tableaux multidimensionnels

Si vous suivez cette série de tutoriels de programmation C, vous êtes probablement au courant du concept de tableaux. Pour rafraîchir rapidement, les tableaux sont utilisés pour stocker plusieurs valeurs du même type dans un stockage continu.

Tableaux multidimensionnels en C

Par exemple, le tableau d’entiers suivant est capable de stocker 5 nombres.

int arr[5]

Toute valeur stockée dans un tableau peut être facilement accessible en utilisant le nom du tableau et la valeur d’index correspondante. Comme les index commencent à 0, disons que si vous voulez accéder au deuxième élément d’un tableau, vous pouvez le faire de la manière suivante :

arr[1]

Le programme suivant accepte 5 entiers de l’utilisateur en entrée, les stocke dans un tableau, puis les renvoie à l’utilisateur.

#include   
  
int main()  
{  
 int arr[5],i;  
   
 printf("Entrez 5 valeurs entières\n");  
   
 for(i=0;i<5;i++)  
 scanf("%d",&(arr[i]));  
   
 printf("Vous avez entré les valeurs suivantes :\n");  
   
 for(i=0;i<5;i++)  
 printf("%d\n",arr[i]);  
   
  
 return 0;  
}

Maintenant, ce type de tableau est connu sous le nom de tableau unidimensionnel. Oui, cela signifie qu’il existe également des tableaux multidimensionnels - tableaux bidimensionnels, tableaux tridimensionnels, et ainsi de suite. Par exemple, le tableau suivant est un tableau bidimensionnel :

int arr[2][3]

Vous pouvez visualiser ce tableau comme un tableau 2-D de nombres avec 2 lignes et 3 colonnes - quelque chose comme ceci :

x x x  
x x x 

Ainsi, il y a un total de 6 éléments que ce tableau peut contenir. Il convient de mentionner que le nombre total d’éléments qu’un tableau peut contenir peut être facilement calculé en multipliant les indices dans la déclaration du tableau. Par exemple, dans le cas de ‘arr’, la capacité du tableau peut être calculée en faisant 2x3, ce qui équivaut à 6.

En ce qui concerne la partie initialisation, un tableau 2-D comme ‘arr’ peut être initialisé de la manière suivante :

int arr [2][3] = {1,2,3,4,5,6}

Comme cette initialisation rend difficile la visualisation de ces valeurs dans un tableau 2-D, il existe une autre (lisez : meilleure) façon que vous pouvez choisir. La voici :

int arr [2][3] = { {1,2,3}, {4,5,6} };

Ainsi, il est maintenant facile de visualiser que les nombres 1,2,3 sont dans une ligne, tandis que 4,5,6 sont dans l’autre. Voici :

1 2 3  
4 5 6

Quant à la façon de traiter un tableau 2-D en C, voici un petit programme qui accepte ces 6 valeurs de l’utilisateur, les stocke dans un tableau 2-D ‘arr’, et les renvoie finalement à l’utilisateur :

#include   
  
int main()  
{  
   int arr[2][3],i,j;  
   
   printf("Vous êtes sur le point d'entrer des valeurs pour un tableau 2x3\n");  
   
   for(i=0;i<2;i++)  
   {  
     for(j=0;j<3;j++)  
     {  
       printf("\n Entrez la valeur à stocker à la ligne %d et à la colonne %d :: ",i,j);  
       scanf("%d",&arr[i][j]);  
     }  
   }  
   
   printf("\n Vous avez entré les valeurs suivantes :\n");  
   
   for(i=0;i<2;i++)  
   {  
     for(j=0;j<3;j++)  
     {  
       printf("\n Ligne %d et colonne %d = %d\n",i,j,arr[i][j]);  
     }  
   }  
   
  
   return 0;  
}

Et voici la sortie :

Vous êtes sur le point d'entrer des valeurs pour un tableau 2x3   
   
 Entrez la valeur à stocker à la ligne 0 et à la colonne 0 :: 1   
   
 Entrez la valeur à stocker à la ligne 0 et à la colonne 1 :: 2   
   
 Entrez la valeur à stocker à la ligne 0 et à la colonne 2 :: 3   
   
 Entrez la valeur à stocker à la ligne 1 et à la colonne 0 :: 4   
   
 Entrez la valeur à stocker à la ligne 1 et à la colonne 1 :: 5   
   
 Entrez la valeur à stocker à la ligne 1 et à la colonne 2 :: 6   
   

Vous avez entré les valeurs suivantes :   
   
 Ligne 0 et colonne 0 = 1   
   
 Ligne 0 et colonne 1 = 2   
   
 Ligne 0 et colonne 2 = 3   
   
 Ligne 1 et colonne 0 = 4   
   
 Ligne 1 et colonne 1 = 5   
   
 Ligne 1 et colonne 2 = 6

Ainsi, c’était quelques informations de base sur les tableaux bidimensionnels. Qu’en est-il des tableaux 3-D ? Eh bien, dans le même ordre d’idées, vous pouvez également définir et initialiser des tableaux tridimensionnels. Voici un exemple :

int arr[2][3][4]

Alors, comment visualiser ce tableau ? Eh bien, pensez à un monde tridimensionnel (le monde dans lequel nous vivons), puis visualisez trois dimensions perpendiculaires les unes aux autres. C’est ainsi que les trois dimensions de ce tableau s’intègrent.

Avec une capacité de 24 éléments (2x3x4), ce tableau peut être initialisé de la manière suivante :

int x[2][3][4] =  
 {  
   { {1,2,3,4}, {5,6,7,8}, {9,10,11,12} },
   { {13,14,15,16}, {17,18,19,20}, {21,22,23,24} }
 };

Et voici un programme C utilisant un tableau 3-D :

#include   
  
int main()  
{  
   int arr[2][3][4],i,j,k;  
   
   printf("Vous êtes sur le point d'entrer des valeurs pour un tableau 2x3x4\n");  
   
   for(i=0;i<2;i++)  
   {  
     for(j=0;j<3;j++)  
     {  
       for(k=0;k<4;k++)  
       {  
          printf("\n Entrez la valeur à stocker à arr[%d][%d][%d] :: ",i,j,k);  
          scanf("%d",&arr[i][j][k]);  
       }  
     }  
   }  
   
  printf("\n Vous avez entré les valeurs suivantes :\n");  
   
   for(i=0;i<2;i++)  
   {  
     for(j=0;j<3;j++)  
     {  
       for(k=0;k<4;k++)  
       {  
          printf("\n arr[%d][%d][%d] = %d\n",i,j,k,arr[i][j][k]);  
       }  
     }  
   }  
   
  return 0;  
}

Conclusion

Dans ce tutoriel, nous avons élargi notre compréhension existante des tableaux en discutant du concept de tableaux multidimensionnels. Vous êtes conseillé d’essayer les exemples utilisés dans ce tutoriel sur votre système (ainsi que d’en créer de nouveaux) pour mieux comprendre comment ces tableaux fonctionnent. En cas de doute ou de question, laissez un commentaire ci-dessous.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.