Salut,
J'ai un peu de mal à comprendre ce bout de programme...
Il sert à échanger deux tableaux, je capte pas les deux étoiles du passage en rouge.
Ce qui me tracasse surtout, c'est qu'en mettant une seule étoile, deux, trois ou 36, ça marche aussi bien...
Idem si on appelle Echange(p1, p2, DIM); sans mettre l'opérateur &
Grand merci A+ (désolé si ma question est stupide...)
void Echange (int * tabla[ ], int ** tablb, int dim);
void Afficher (int tabl[ ], int dim);
/* Echange des adresses des 1ers éléments des tableaux */
void Echange (int * tabla[ ], int **tablb, int dim){
int * temp;
temp=*tabla;
*tabla=*tablb;
*tablb=temp;
}
void Afficher (int tabl[ ], int dim){
int i;
for (i=0;i<dim;i++) printf("tabl[%d]=%d ", i, tabl[i]);
printf("\n" );
}
main() {
int tab1[DIM]={1,2,3,4,5};
int tab2[DIM]={5,4,3,2,1};
int * p1 = tab1; int * p2 = tab2;
Afficher(p1, DIM); Afficher(p2, DIM);
Echange(&p1, &p2, DIM);Afficher(p1, DIM); Afficher(p2, DIM);
return 0;
}
---------------
If you really want something, all the Universe conspires in helping you to achieve it.