next up previous contents index
suivant: Résolution de systèmes linéaires monter: main précédent: Tri d'un tableau numérique   Table des matières   Index


Tableaux pluridimensionnels

On peut définir en C++ des tableaux à plusieurs dimensions ; nous traiterons ici le cas de deux dimensions. Signalons dès maintenant qu'ils sont d'un intérêt assez limité. Un tableau à deux dimensions est d'abord un tableau. Il faut donc spécifier le type de ses éléments. C++ considére que les éléments d'un tableau bidimensionnel sont ses lignes. Une ligne est elle-même un tableau à $n$ éléments, où $n$ est le nombre de colonnes. Un tableau bidimensionnel à 2 lignes et 3 colonnes est ainsi défini :


int t[2][3];

Cette définition déclare t comme un nom dont le type est << tableau de deux (tableaux de trois int) >>, puis alloue un bloc de mémoire pouvant contenir 2 fois 3 int, consécutivement. t est une expression constante dont la valeur est l'adresse du bloc alloué ; le type de cette valeur est << tableau de tableaux de 3 int >>, le nombre de lignes n'y figurant pas. On accède à ses éléments par double indexation : t[0][0], t[0][1], t[0][2], t[1][0], t[1][1] et t[1][2].19 La figure 10 indique la disposition en mémoire d'un tableau à deux dimensions. Les éléments d'une même ligne du tableau sont rangés consécutivement en mémoire20. Comme t est un tableau, une indexation partielle est admise : t[0] et t[1] désignent des tableaux de dimension 1 et de taille 3. Les expressions t[0] et t[1] sont aussi des expressions constantes, dont la valeur est l'adresse du bloc contenant respectivement la première et la seconde ligne du tableau ; leur type est << tableau de 3 int >>.


\begin{figurette}
% latex2html id marker 4705\begin{center}
\leavevmode
\fb...
...array2.eps}
} \caption {Tableau à deux dimensions} \end{center} \end{figurette}

Un tableau bidimensionnel peut aussi être initialisé ; dans ce cas, il n'est pas nécessaire d'indiquer le nombre de ses éléments, c'est-à-dire de ses lignes, mais il est obligatoire d'indiquer le nombre de colonnes, car ce nombre intervient dans le type de ses éléments.


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

Cette définition initialise le bloc alloué pour t en y écrivant les entiers 1, 2, 3, 4, 5 et 6.


next up previous contents index
suivant: Résolution de systèmes linéaires monter: main précédent: Tri d'un tableau numérique   Table des matières   Index
R Lalement