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??
Version imprimable
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:
1
2
3
4
5 int i=0; void f(){ i++; }
Ok merci ca marche
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.
Bonjour,
Tu n'es pas obligé d'utiliser une varaible globale. Quelque chose comme ceci devrait aussi fonctionner :
Code:
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...Citation:
Envoyé par seriousme
ouCode:
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:
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); }
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.
Les Bonnes Pratiques ont un coût, oui. Si je peux te rassurer, le codage à la barbare aussi (se faire virer, par exemple !)Citation:
Envoyé par seriousme
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...Citation:
Envoyé par seriousme
Jc
Citation:
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.Citation:
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...
Citation:
Envoyé par seriousme
*Toujours mon pote, Jah me protège tout le tempsCitation:
Always my man, Jah protects me all the time*
:wink:!
http://www.bbc.co.uk/birmingham/fait...arian2_150.jpgCitation:
Envoyé par fearyourself