Passage d'argument par pointeur
Fermé
Massi
-
30 oct. 2017 à 19:47
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 31 oct. 2017 à 09:45
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 31 oct. 2017 à 09:45
A voir également:
- Passage d'argument par pointeur
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
- Python introuvable - Forum Python
- Passage windows 7 à 10 - Guide
- Chronopost pas d'avis de passage ✓ - Forum Vos droits sur internet
- Argument bash - Astuces et Solutions
1 réponse
[Dal]
Messages postés
6057
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
17 mars 2023
1 043
Modifié le 31 oct. 2017 à 09:48
Modifié le 31 oct. 2017 à 09:48
Salut Massi,
comme cela, cela irait mieux :
en effet :
- comme ta fonction carré a un prototype
- tu déclares une variable resultat dans main, mais tu ne stockes pas la valeur de retour de la fonction dedans, donc tu as une valeur indéterminée
Il faut bien comprendre la notion de portée ou "scope" des variables. Les variables correspondant aux noms que tu définis dans main ont leur propre vie et sont différentes de celles déclarées dans ta fonction, qui sont des variables séparées occupant des espaces mémoire différents et dont la durée de vie ne s'étend que dans le contexte de la fonction. Le fait que tu leur ait donné le même nom que tes variables déclarées dans main ne change rien à l'affaire.
Dal
comme cela, cela irait mieux :
int resultat = carre(p);ou
int resultat = carre(&a);...
en effet :
- comme ta fonction carré a un prototype
int carre(int * p ), tu dois passer un pointeur sur int à la fonction en argument
- tu déclares une variable resultat dans main, mais tu ne stockes pas la valeur de retour de la fonction dedans, donc tu as une valeur indéterminée
Il faut bien comprendre la notion de portée ou "scope" des variables. Les variables correspondant aux noms que tu définis dans main ont leur propre vie et sont différentes de celles déclarées dans ta fonction, qui sont des variables séparées occupant des espaces mémoire différents et dont la durée de vie ne s'étend que dans le contexte de la fonction. Le fait que tu leur ait donné le même nom que tes variables déclarées dans main ne change rien à l'affaire.
Dal