Bonjour a tous,
mon premier post sur ce forum, débutant en C.
Je cherche a declarer et définir un pointeur vers un tableau de dimension nxm.
Derriere, je cherche à afficher les valeurs du tableau en bouclant sur le tableau de pointeur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 /* Declarations */ int tab[2][2]; int *p[2]; /* Definition du tableau */ tab[0][0]=1; tab[0][1]=2; tab[1][0]=3; tab[1][1]=4; /* Definition du pointeur */ p[0]=tab[0]; p[1]=tab[1];
Le code fonctionne nickel mais quelque chose me chiffonne. Suis je obliger de passer par un tableau de pointeur (ici p[2]) dès que mon tableau de int dépasse 1 dimension? Pourquoi ne peut on pas faire un:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int i=0; while (i<4){ printf("%d\n",*(p[0]+i)); i++; }
et ensuite
Code : Sélectionner tout - Visualiser dans une fenêtre à part p=tabpour acceder aux valeurs de tab puisque tout est "aligné" dans la mémoire?
Code : Sélectionner tout - Visualiser dans une fenêtre à part *p++
Merci de lever le doute![]()
Partager