Help !! pb avec fonctions [C] - C++ - Programmation
Marsh Posté le 02-11-2002 à 13:10:03
*LighTninG* a écrit a écrit : Salut ! J'ai un ptit pb à régler vis à vis des fonctions (moi y en a être débutant). Voila dans ce petit prog je veux donner à var1,var2 et var3 les valeurs de v1,v2 et v3 calculés avec la fonction. Cependant, apres avoir effectué la fonction dans le main, j'affiche les valeurs des 3 variables (qui devraient donc etre 1,2 et 3), or celles ci sont toujours égales à 0!! Donc ca va pas ya quelque chose que j'ai pas encore pigé dans les fonctions, donc je vous remercie d'avance pour m'expliquer où est le pb
|
Bon je vais essayer d'être compréenssible (ça va me changer ).
Dans ta fonction tu fais un passage de paramètres par valeur, c'est à dire que lorsque tu appelle ta fonction, les valeurs de chaques argument sont copiée. C'est sur ces copies que travaille la fonction. Lorsque tu resort de la fonction tu n'a donc pas modifié tes variables. Si tu veux que ta fonction modifie les valeurs des arguments que tu lui passe tu doit faire un passage de paramètre par adrese. Dans ce cas là tu vas indiquer à la fonction l'adresse des variables contenant les arguments, tu poura donc modifier ces variables.
Ca donne qqc comme ça:
Code :
|
Marsh Posté le 02-11-2002 à 13:29:46
Ok, j'ai compris que dans ce cas là faut utiliser des pointeurs
mais le prog ainsi modifié plante au lancement...
Code :
|
Donc keski faut faire?
Marsh Posté le 02-11-2002 à 13:31:55
Code :
|
Le & devant une variable indique qu'on prend l'adresse mémoire de cette variable.
Marsh Posté le 02-11-2002 à 12:59:28
Salut !
J'ai un ptit pb à régler vis à vis des fonctions (moi y en a
être débutant).
Voila dans ce petit prog je veux donner à var1,var2 et var3 les
valeurs de v1,v2 et v3 calculés avec la fonction.
Cependant, apres avoir effectué la fonction dans le main, j'affiche les valeurs des 3 variables (qui devraient
donc etre 1,2 et 3), or celles ci sont toujours égales à 0!!
Donc ca va pas ya quelque chose que j'ai pas encore pigé dans
les fonctions, donc je vous remercie d'avance pour m'expliquer
où est le pb
Message édité par *LighTninG* le 02-11-2002 à 13:00:17