Tableau de tableau [C] - Programmation
Marsh Posté le 13-11-2001 à 14:30:37
int tableau[10][20];
Pour accèder à la case 2 du 5e tableau, tu fais
nombre=tableau[5][2];
Marsh Posté le 13-11-2001 à 14:48:23
ca c'est un tableau à 2 dimensions
je crois pas que le terme tableau de tableaux existe .. par contre tableau de pointeurs oui.
sinon Fork a tres bien repondu à ta question.
Marsh Posté le 13-11-2001 à 14:49:20
la notion de tableau en C est plutot floue (confusion avec les pointeurs) donc la notion de tableau de tableau se construirait alors comme
int tab1[20];
int tab2[20];
int tab3[20];
etc.
int *tab[10] = { tab1, tab2, tab3, etc.};
l'utilisation serait alors tab[8][15]... par exemple...
Toutefois ce genre de construction compliquee ne presente d'interet que si les tabx ne sont pas tous de la meme taille, ou s'ils sont issus d'allocation dynamique...
en pratique un tab[10][20] est bien plus simple. Meme si l'ecriture laisse presager un tableau de tableau, il s'agit bien d'un tableau a deux dimentions...
Ou est la difference ?
au niveau des pointeurs, un tableau, en C, est confondu avec un pointeur, un tableau de tableau est donc un pointeur de pointeur, or int tab[10][20] est un pointeur d'entier et non un pointeur de pointeur d'entier...
Marsh Posté le 13-11-2001 à 15:27:40
Mais, arrêtez de tout compliquer. J'reconnais bien là les programmeurs !
Fork à bien répondu, point à la ligne.
int tableau[10][20];
c exactement un tableau de tableau... appelez ça tableau à 2 dimension, ou simplification d'écriture pour enchainement organisé de poiteurs dans l'espace mémoire. Tous ces termes sont justes !
Marsh Posté le 13-11-2001 à 16:26:16
El_Gringo a écrit a écrit : Mais, arrêtez de tout compliquer. J'reconnais bien là les programmeurs ! Fork à bien répondu, point à la ligne. int tableau[10][20]; c exactement un tableau de tableau... appelez ça tableau à 2 dimension, ou simplification d'écriture pour enchainement organisé de poiteurs dans l'espace mémoire. Tous ces termes sont justes ! |
int tableau[10][20] n'est justement pas cela....
Par contre c'est certainement ce que souhaite bill599...
Si c'etait un tableau de tableau il ne serait pas necessaire de connaitre la taille pour acceder a un element...
Marsh Posté le 13-11-2001 à 16:50:35
Fork a écrit a écrit : int tableau[10][20]; Pour accèder à la case 2 du 5e tableau, tu fais nombre=tableau[5][2]; |
meme que ca s'appelle une matrice
c'est pas vraiment "un tableau de tableau", mais t'as pas besoin de plus
Marsh Posté le 13-11-2001 à 14:28:19
Peut on créer un tableau de tableau en C
Pas d'allocation dynamique.
C'est à dire que je veux un tableau de 10 cases et dans chaque case il y a un tableau de 20 int.
Comment on le crée et comment on l'utilise
merci