Pointeurs et paramètres de fonctions





1 - En Pascal :

En pascal, lorsque l'on déclare une procédure avec des paramètres en sortie de la manière suivante :
procedure echange(var x,y : integer;)
En fait, var permet de donner l'adresse des variables x et y. C'est ce que font les pointeurs en C utilisés en paramètres de fonctions.





2 - En C :

Lorsque l'on veut qu'une fonction puisse modifier une donnée passée comme paramètre, il faut transmettre à la fonction non pas la valeur de l'objet mais son adresse. Les paramètres de la fonction doivent être des adresses, par exemple des noms de pointeurs. On déclare echange de la manière suivante :
void echange(int *x, int *y)
*x et *y sont des pointeurs dits 'déréférencés', la fonction accède aux contenus des emplacements mémoire où sont rangées les variables.