next up previous contents index
suivant: Structures monter: main précédent: Résolution de systèmes linéaires   Table des matières   Index


Argument tableau pluridimensionnel d'une fonction

Comme les éléments d'un tableau pluridimensionnel sont des tableaux, il faut connaître le type de ces éléments quand un tel tableau doit être passé en argument à une fonction. Par suite, toutes les dimensions, sauf la première, doivent être spécifiées dans la déclaration du paramètre correspondant (la première dimension peut aussi être indiquée, mais elle ne servira pas plus qu'un commentaire). Par exemple, dans le cas d'un tableau tridimensionnel, on écrira :


double f(double t[][3][4]);

Comme dans le cas unidimensionnel, il est préférable de passer en argument, séparément, la taille de la première dimension (sauf si l'on travaille toujours avec des tableaux de même taille, fixe)


double f(int m, double t[][3][4]);

et d'appeler f(2,t) si l'on sait que t est un tableau $2\times 3\times 4$. Le corps de f pourra ainsi utiliser la valeur $m$ de m pour accéder aux t[$i$] pour $0\le i\le m-1$. Le fait de spécifier la taille des autres dimensions permet au corps de f de connaître la taille de t[0], t[1], ..., qui est $3\times 4$ dans cet exemple, donc d'accéder correctement aux éléments t[$i$][$j$][$k$].

Ces contraintes rendent les tableaux à plusieurs dimensions difficilement utilisables dans des bibliothèques. On verra deux autres méthodes pour implémenter des matrices : par des tableaux à une dimension, et par des tableaux de pointeurs.


next up previous contents index
suivant: Structures monter: main précédent: Résolution de systèmes linéaires   Table des matières   Index
R Lalement