Déclaration et initialisation à la déclaration
#define MAX_L 2
#define MAX_C 3
int t[MAX_L] [MAX_C];
Permet de définir la variable "t" comme un tableau à deux dimensions de 2 lignes et 3 colonnes.
Pour accéder à une case il suffit d'utiliser la syntaxe :
t[1][2]
Ce qui permet d'accéder à la case qui contient un entier qui se trouve en deuxième ligne, troisième colonne du tableau. (les indices commencent à zéro).
Bien que le tableau soit "linéarisé", pour accéder aux cases du tableau « t », l'opération d'indexation s'écrit tout simplement « t[i][j] ». Le compilateur se charge de retrouver la bonne case, cette syntaxe est transparente pour le programmeur.
#define MAX_L 2
#define MAX_C 3
double td[MAX_L] [MAX_C] = {{37.2,37.5},{38.4, 40.5, 43.2}};
L'initialisation s'effectue ligne par ligne avec les listes de valeurs d'initialisation. Comme pour les tableaux à une dimension, si une liste n'est pas complète, seules les premières cases sont remplies dans l'ordre de la liste.
Ainsi, sur l'exemple ci-dessus la case td[0][2] n'est pas initialisée car il n'y a pas de troisième valeur dans la liste d'initialisation de la première ligne.