#include <stdio.h>
#include <stdlib.h>
int mafonction(int valeur)
{
printf ("%d \n",valeur); /* donne 4 */
valeur++;
printf ("%d \n",valeur); /* donne 5 */
return valeur;
}
int main (int argc, char **argv)
{
int valeur;
int retval;
valeur =4;
retval=mafonction(valeur);
printf ("%d \n",valeur); /* Donne 4 */
printf ("%d \n",retval); /* Donne 5 */
return EXIT_SUCCESS;
}
poly1@workboot:~/Works/TDC/fonction_valeur $ ./fv
4
5
4
5
on constate que la fonction ne modifie pas la valeur (ici 4)
#include <stdio.h>
#include <stdlib.h>
int mafonction(int *valeur)
{
printf ("%d \n",*valeur);
(*valeur)++;
printf ("%d \n",*valeur);
return *valeur;
}
int main (int argc, char **argv)
{
int valeur;
int retval;
valeur =4;
retval = mafonction(&valeur);
printf ("%d \n",valeur);
printf ("%d \n",retval);
return EXIT_SUCCESS;
}
poly1@workboot:~/Works/TDC/fonction_reference $ ./fr
4
5
5
5
on bien ici modifié la contenu de la variable