11.7.3 Accès à un élément : mat[lig][col]

Icône de l'outil pédagogique Accès à un élément : mat[lig][col]

Un élément du tableau mat à deux dimensions est manipulé à l'aide de l'écriture

mat[lig][col]

lig et col sont des indices qui commencent à 0.
lig (1er indice) représente la ligne et col (2ème indice) la colonne de l'élément.

mat[lig][col] est une notation claire que vous devez utiliser au lieu de mat[i][j], trop répandu. Dès qu’on atteint deux dimensions, les indices doivent avoir des noms évocateurs : lig, col, i_eleve, i_point, i_sommet, i_mesure…

Attention : comme pour le tableau à une dimension, il n'y a aucun contrôle de dépassement des indices. Ne pas oublier que tous les indices commencent à zéro : le dernier élément d'un tableau défini par short int mat[5][3] est mat[4][2].

On peut ne pas utiliser les indices 0 à condition de surdimensionner de 1 chaque dimension concernée.

Exemple 62 : Un programme avec un tableau à deux dimensions

Si mat[lig][col] représente l'élément de ligne lig et de colonne col, la notation mat[lig] désigne l'adresse de la ligne lig c'est‐à‐dire l'adresse du premier élément de la ligne lig :

mat[lig] = & mat[lig][0].

De plus, comme dans le cas monodimensionnel, le nom mat du tableau représente l'adresse du tableau, c'est‐à‐dire l'adresse de son premier élément : les valeurs numériques de mat et de &mat[0][0] sont égales, bien que leurs types soient différents (mat est un pointeur « constant » sur un tableau, alors que &mat[0][0] est un pointeur « constant » sur un élément).