[C++] Pointeur & Tableau ? help
Fermé
Romiinet
Messages postés
596
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
2 novembre 2014
-
22 févr. 2010 à 16:19
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 23 févr. 2010 à 14:18
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 - 23 févr. 2010 à 14:18
A voir également:
- [C++] Pointeur & Tableau ? help
- Tableau croisé dynamique - Guide
- Afficher un tableau en c - Forum C
- Tableau ascii - Guide
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
- Tableau word - Guide
2 réponses
Romiinet
Messages postés
596
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
2 novembre 2014
108
23 févr. 2010 à 12:53
23 févr. 2010 à 12:53
personne ?
Char Snipeur
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 328
23 févr. 2010 à 14:18
23 févr. 2010 à 14:18
Le problème des tableaux à plus d'une dimension c'est qu'il n'y a pas d'équivalent en pointeur.
int** c'est équivalent à un tableau de (int *) c'est à dire un tableau de pointeur. Les mémoires ne sont pas continue et tu peux avoir des "tableaux" de taille variable.
int t[m][n] défini un vrai tableau à deux dimension de taille m*n. Il me semble que dans ce cas là les mémoires sont continue. il me semble que dans ce cas là un élément t[i][j] == t[i+j*m] (ou dans le genre) c'est à dire qu'à tout moment le programme doit connaitre au moins une dimension du tableaux (2 en 3D, 3 en 4D etc.).
Tout ça pour t'expliquer que tu ne peux pas passer par un pointeur, il faut donner un tableau en argument avec une taille :
void fonction(int t[m][]);
Il y a pas mal d'imprécision dans ce que je viens de te dire, mais il y a déjà pas mal de discutions sur ce forum traitant des tableaux en C, où tu trouvera pleins d'informations.
int** c'est équivalent à un tableau de (int *) c'est à dire un tableau de pointeur. Les mémoires ne sont pas continue et tu peux avoir des "tableaux" de taille variable.
int t[m][n] défini un vrai tableau à deux dimension de taille m*n. Il me semble que dans ce cas là les mémoires sont continue. il me semble que dans ce cas là un élément t[i][j] == t[i+j*m] (ou dans le genre) c'est à dire qu'à tout moment le programme doit connaitre au moins une dimension du tableaux (2 en 3D, 3 en 4D etc.).
Tout ça pour t'expliquer que tu ne peux pas passer par un pointeur, il faut donner un tableau en argument avec une taille :
void fonction(int t[m][]);
Il y a pas mal d'imprécision dans ce que je viens de te dire, mais il y a déjà pas mal de discutions sur ce forum traitant des tableaux en C, où tu trouvera pleins d'informations.