Passage d'argument par pointeur
Fermé
Massi
-
30 oct. 2017 à 19:47
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 14 janvier 2025 - 31 oct. 2017 à 09:45
[Dal] Messages postés 6203 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 14 janvier 2025 - 31 oct. 2017 à 09:45
A voir également:
- Passage d'argument par pointeur
- Passage qwerty azerty - Guide
- Pointeur souris disparu pc portable - Guide
- Passage windows 7 à 10 - Accueil - Mise à jour
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- Probleme pour executer python ✓ - Forum Ubuntu
1 réponse
[Dal]
Messages postés
6203
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 janvier 2025
1 098
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