IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
next up previous contents index
Next: Exercice Up: Les pointeurs Previous: Discussion

Une dernière précision

Quand un langage offre le passage de paramètre par valeur, il y a deux possibilités :
1.
soit le paramètre est une constante (donc non modifiable)
2.
soit le paramètre est une variable locale à la procédure. Cette variable est initialisée lors de l'appel de la procédure avec la valeur du paramètre effectif.
  C'est la seconde solution qui a été retenue par les concepteurs du langage C. Voyons sur un exemple. Supposons que l'on désire écrire une fonction sum admettant comme paramètre n et qui rende la somme des n premiers entiers. On peut programmer de la manière suivante :
int sum(int n)
{
int r = 0;

for ( ; n > 0; n--) r = r + n;
return(r);
}
On voit que le paramètre n est utilisé comme variable locale, et que dans l'instruction for, la partie initialisation est vide puisque n est initialisée par l'appel de sum.



Bernard Cassagne
1998-12-09