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 : Sélectionner tout - Visualiser dans une fenêtre à part
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