Quand mettre le "&" dans les param fonctions
Résolu
yaorens
Messages postés
205
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
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 ?
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 ?
A voir également:
- Quand mettre le "&" dans les param fonctions
- Comment faire fonctionner le chromecast - Guide
- Codes secrets Android : accéder aux fonctions cachées - Guide
- Fonction remplacer dans word - Guide
- Les fonctions excel en anglais - Guide
- Les configurations ipv4 utilisateur peuvent ne pas fonctionner correctement en raison de l'architecture de routage ipv6 wan actuelle. ✓ - Forum Réseau
2 réponses
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.
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.
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
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