Tableaux multidimensionnels en C

Tableaux multidimensionnels en C

En C / C++, nous pouvons définir des tableaux multidimensionnels en termes simples comme tableau de tableaux. Les données des tableaux multidimensionnels sont stockées sous forme de tableaux

Forme générale de déclaration de tableaux à N dimensions:

type_données nom_tab[taille1][taille2]....[tailleN];
  • type_données: Type de données à stocker dans le tableau. Ici type_données est un type de données C/C ++ valide
  • nom_tab : nom du tableau
  • taille1, taille2,..., tailleN : Tailles des dimensions
Exemple 1 :
                                // Tableau à deux dimensions
                                int tab[2][3];

                                // Tableau en trois dimensions
                                int tab[2][3][4];
                            

Taille des tableaux multidimensionnels

Le nombre total d'éléments pouvant être stockés dans un tableau à deux dimensions peut être calculé en multipliant la taille de toutes les dimensions.
Par exemple:
Le tableau int tab[5][3] peut stocker un total (5 * 3) = 15 éléments.

Tableau à deux dimensions

Un tableau à deux dimensions est la forme la plus simple d’un tableau multidimensionnel. Nous pouvons voir un tableau à deux dimensions comme un tableau de tableau à une dimension pour faciliter la compréhension.

Déclaration

On peut déclarer un tableau entier à deux dimensions dit M de taille 5,4
                                // Tableau à deux dimensions
                                int Tab[5][4];
                            
  • Les éléments des tableaux à deux dimensions sont communément désignés par Tab[i][j], où "i" est le numéro de la ligne et "j" le numéro de la colonne.
  • Un tableau à deux dimensions peut être vu sous forme de tableau avec "n" lignes et "m" colonnes où le numéro de ligne est compris entre 0 et (n-1) et le numéro de colonne est compris entre 0 et (m-1).
    Un tableau à deux dimensions "Tab" avec 3 lignes et 4 colonnes est présenté ci-dessous:

Initialisation

Un tableau à deux dimensions peut être initialisé de deux manières.

Méthode 1
                                int Tab[3][4] = {0, 1 ,2 ,3 ,4 , 5 , 6 , 7 , 8 , 9 , 10 , 11};
                            

Le tableau ci-dessus a 3 lignes et 4 colonnes. Les éléments entre les accolades de gauche à droite sont également stockés dans le tableau de gauche à droite. Les éléments seront remplis dans le tableau dans l'ordre, les 4 premiers éléments à partir de la gauche dans la première ligne, les 4 suivants dans la deuxième ligne, etc.

Méthode 2 (Meilleure)
                                int Tab[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}};
                            

Ce type d'initialisation utilise des accolades imbriquées. Chaque ensemble d'accolades internes représente une ligne. Dans l'exemple ci-dessus, il y a un total de trois lignes, donc il y a trois ensembles d'accolades internes.

Accès aux éléments de tableaux à deux dimensions

Les éléments des tableaux à deux dimensions sont accessibles à l'aide des indices de ligne et des indices de colonne.

Exemple 2 :
                                #include < stdio.h> 
                                int main(void){
                                    int Tab[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}};

                                    Tab[0][1]=8;

                                    printf(" Tab[0][1] ", Tab[0][1]);

                                    return 0;
                                }
                            
  8

Pour afficher tous les éléments d'un tableau à deux dimensions, nous pouvons utiliser des boucles "for" imbriquées.
Il nous en faut deux pour les boucles. L'une parcourir les lignes et l'autre parcourir les colonnes.

Exemple 3 :
                                #include < stdio.h> 
                                int main(void){
                                    int Tab[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}};
                                    int i,j;

                                    for(i=0 ; i< 3 ; i++)
                                    {
                                        for(j=0 ; j < 4 ; j++)
                                        {
                                            printf(" Elément : Tab[%d][%d]= %d \n", i, j, Tab[i][j]);
                                        }
                                    }

                                
                                    return 0;
                                }
                            
Elément : Tab[0][0]= 0
Elément : Tab[0][1]= 1
Elément : Tab[0][2]= 2
Elément : Tab[0][3]= 3
Elément : Tab[1][0]= 4
Elément : Tab[1][1]= 5
Elément : Tab[1][2]= 6
Elément : Tab[1][3]= 7
Elément : Tab[2][0]= 8
Elément : Tab[2][1]= 9
Elément : Tab[2][2]= 10
Elément : Tab[2][3]= 11

Rédigé par M. ESSADDOUKI

Many people realize their hearts desires late in life. Continue learning, never stop striving and keep your curiosity sharp, and you will never become too old to appreciate life.