Bonjour,
Comment ça s'utilise un tableau de 3 dimensions ?
j'arrive pas à me représenter c'est un cube c'est ça ?
exemple : int tab[2][3][4]
Version imprimable
Bonjour,
Comment ça s'utilise un tableau de 3 dimensions ?
j'arrive pas à me représenter c'est un cube c'est ça ?
exemple : int tab[2][3][4]
j'etais en train de te faire un beau dessin ... mais j'ai planté gimp ... ça m'apprendras a utiliser des versions beta :-/
breffe ...
personellementje le vois plutot comme un systeme de "poupée russe"
pour reprendre ton exemple: int tab[2][3][4]
tab[0] seras un pointeur sur un tableau de dimensions [3][4]
tab[0][0] seras un pointeur sur un tableau de dimension [4]
tab[0][0][0] seras un entier.
tu peux rajouter autant de dimensions que tu veux.
c'est seulement un système te permettant à toi programmeur, de pas trop te prendre la tête ...
la mémoire est linéaire => ton tableau en mémoire est en une seule dimension
la conversion "dimmensionelle" => lineaire se fait simplement:
tab[i][j][k] => tab[(i*3*4) + (j*4) + k]
ça se trouve dans tout bon cour de C au passage. :roll:
Voila un dessin pour essayer de te représenter comment un tableau peut être représenté :
au gauche la représentation 3D a droite la représentation qui s'approche de comment c'est représenté en mémoire.
Si tu veux vraiment voir à quoi ça ressemble, une recherche dans la norme devrai te permettre d'obtenir un truc précis.
(Ma représentation vaut ce qu'elle vaut ...)
merci à vous.
oui ITCsoft54 ta représentation semble assez explicite, d'après ce que j'ai compris le 1er élément représenterai le nb de tableau et les 2 autres c'est le nb de ligne et de colonne.