[C] Tableau de tableau

Tableau de tableau [C] - Programmation

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

Reply

Marsh Posté le 13-11-2001 à 14:28:19   

Reply

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];

Reply

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.

Reply

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...

Reply

Marsh Posté le 13-11-2001 à 15:27:40    

Mais, arrêtez de tout compliquer. J'reconnais bien là les programmeurs !:D
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 !

Reply

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 !:D
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...

Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed