Quand mettre le "&" dans les param fonctions

Résolu
yaorens Messages postés 205 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

excusez , j'apprends le langage c , et j'ai quelques difficultés avec les fonctions .
J'aimerais savoir dans quel cas on met un "& " dans les paramètres d'une fonction , et dans quels cas on ne dois pas le faire , le prof nous a entretnu un peu dessus en parlant de passage par valeur , resultat et par adresse ( en algorithmes ,) mais je ne comprends toujours pas .
quelqu'un pourrait t'iil m'aider ?

2 réponses

Love_Metal Messages postés 118 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour,

Le '&' qui précède une variable signifie l'adresse de cette variable.

Il faut mettre un '&' avant le nom d'une variable dans une fonction si :

-la fonction prend un pointeur de variable et que tu n'as qu'une variable simple à lui envoyer.
-la fonction prend un double pointeur et que tu n'as qu'un pointeur à lui envoyer.
1
Utilisateur anonyme
 
Bonjour,

je confirme ce que dit Love_Metal et j'ajouterai qu'en faisant un passage par adresse, tu ne réalise pas de copie de la variable. Donc la variable que tu modifie dans la fonction via son adresse et la même que celle crée avant l'appel.
Exemple

void ajout(int *pointeur)
{
(*pointeur )++;
}

main(/*argc, argv, et cie*/)
{
int mavariable = 1;
ajout(&mavariable)
printf("%d", mavariable);
}

Le programme affiche:

2
Besoin d'aide? Dispo pour C/C++/PhP/Html5/Css3, et des bases en js, en webmatering divers et Linux
1