Voila j'ai un souci...,
j'ai une fonction dans laquelle une variable i est incrémenté...
je réutilise cette variable i ds une autre fonction et j'aimerai qu elle récupére la valeur obtenue ds la premiere fonction.
comment faire??
Voila j'ai un souci...,
j'ai une fonction dans laquelle une variable i est incrémenté...
je réutilise cette variable i ds une autre fonction et j'aimerai qu elle récupére la valeur obtenue ds la premiere fonction.
comment faire??
Il faut déclarer cette variable en globale et l'appeler comme une variable de l'autre fonction en faisant attention aux conflits.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int i=0; void f(){ i++; }
Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
Mon blog : pragmateek.com
Si tu es obligé d'utiliser une variable globale, please pas i mais un nom bien parlant.
Au besoin encapsule avec des accesseurs(getval/setval) de manière à savoir exactement ce que tu fais.
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Bonjour,
Tu n'es pas obligé d'utiliser une varaible globale. Quelque chose comme ceci devrait aussi fonctionner :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 int mafonction () { int i; /* code qui utilise i */ return i; } void mafontion2 () { int j; j = mafonction(); /* suite du code */ }
Franchement, je préfèrerais qu'on évite de montrer du codage à la barbare...Envoyé par seriousme
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 int inc_i (int i) { return i + 1; } int main (void) { int x = 0; x = inc_i(x); x = inc_i(x); x = inc_i(x); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 void inc_i (int *pi) { if (pi != NULL) { (*pi)++; } } int main (void) { int x = 0; inc_i(&x); inc_i(&x); inc_i(&x); }
Pas de Wi-Fi à la maison : CPL
Le probleme avec les soluces de Emmanuel Delahaye et gangsoleil
c'est que c'est plus lourd a utiliser car il faut envoyer i à la fonction et la récupérer apres.
Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
Mon blog : pragmateek.com
Les Bonnes Pratiques ont un coût, oui. Si je peux te rassurer, le codage à la barbare aussi (se faire virer, par exemple !)Envoyé par seriousme
Pas de Wi-Fi à la maison : CPL
Lourd à utiliser peut-être mais le code sera plus propre, plus facile à modifier et de toute façon, si c'est bien fait, le programme ne sera pas plus lent qu'une solution "barbare"... Quelle solution utilisée? Moi j'ai ma réponse...Envoyé par seriousme
Jc
Les Bonnes Pratiques ont un coût, oui. Si je peux te rassurer, le codage à la barbare aussi (se faire virer, par exemple !)
PEACE BRO' je voulais pas être agressif mais je suis tout à fait d'accord avec vous sur le fond.Lourd à utiliser peut-être mais le code sera plus propre, plus facile à modifier et de toute façon, si c'est bien fait, le programme ne sera pas plus lent qu'une solution "barbare"... Quelle solution utilisée? Moi j'ai ma réponse...
Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
Mon blog : pragmateek.com
Envoyé par seriousme*Toujours mon pote, Jah me protège tout le tempsAlways my man, Jah protects me all the time*
!
Envoyé par fearyourself
Pas de Wi-Fi à la maison : CPL
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager