Modification du contenu d'un tableau par pointeur
Bonjour tout le monde
j'ai un code dont je n'ai pas compris comment on peut modifier le contenu du tableau juste en modfiant des pointeurs sur ce tableau
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <stdio.h>
#define n 10
int main(int arv, char* arg){
int i;
int tab[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int *p = &tab[0], *q = &tab[n-1], temp;
while (p < q) {
temp = *p;
*(p++) = *q;
*(q--) = temp;
}
for (i=0;i<n;++i){
printf("tab[%d]=%d\n",i,tab[i]);
}
return 0;
} |
On voit pas que dans ce code on ne touche pas au contenu du tableau, mais au contenu des pointeurs, mais le contenu du tableau change!!
merci pour votre aide