Bonsoir,

En C et C++, c'est la valeur d'une variable qui est normalement pasée à une fonction. Par exemple:
Code:
void f (int x)
{ x += 1 ; }
qui ne sert strictement à rien, puisque tu peux faire :
Code:
main ()
{
    int z = 0 ;
    f (z) ;
    f (1) ;
ça ne changera ni la valeur de z ni celle de 1 (encore heureux). Mais si le but de la fonction f est d'incrémenter la variable, alors en C tu fais :
Code:
void f (int *x)
{ *x += 1 ; }
main ()
{
    int z = 0 ;
    f (&z) ;
}
autrement dit tu utilises des pointeurs, dont la valeur est passée en paramètre. En C++ tu as le droit aux références, que tu peux voir comme des pointeurs implicites :
Code:
void f (int & x)
{ x += 1 ; }
main ()
{
    int z = 0 ;
    f (z) ;
}
et c'est exactement équivalent au dernier exemple, sauf que tu n'as pas besoin d'expliciter l'usage des pointeurs.

-- françois