Voila,
j'aurais aimé savoir si il était possible de faire sortir plus d'une valeur d'une fonction ( à part le return), et comment faire dans ce cas
D'avance merci
Voila,
j'aurais aimé savoir si il était possible de faire sortir plus d'une valeur d'une fonction ( à part le return), et comment faire dans ce cas
D'avance merci
Slt,
je ne comprends pas.
avec le return su peux faire sortir plusieurs valeur d'une fonction.
il suffit de revoyer un tableau du type de valeur que tu veux renvoyer ou une structure.
Ou encore mieux, utiliser des pointeurs que tu passes en argument de ta fonction !![]()
c'était pour sortir 2 valeurs indépendantes que je determine dans ma fonction
Je vais voir si je peux les mettre dans une structure
par contre ce serait un truc du style ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 typedef { char *valeur1; int i; } youhou; youhou ma_fonction();
Ben sinon comme l'a dit yobbas tu peux utiliser les pointeurs en parametre. C'est plus facile a manipuler et pas besoin de faire de structure.
Oui ca ressemblerait a ca.par contre ce serait un truc du style ?
Code :
typedef struct
{
char *valeur1;
int i;
} youhou;
youhou ma_fonction();[/LEFT]
Il est préférable de faire comme ceci :
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
18
19
20 typedef struct{ int a; int b; } s_MYSTRUCT; void myfunc(s_MYSTRUCT *st) { st->a = 1; st->b = 2; } int main(void) { s_MYSTRUCT s; [...] myfunc(&s); [...] return 0; }
Cette méthode n'est pas très efficace. Il est préferable de retourner un pointeur sur la structure.Envoyé par fumiste972
Mais dans ce cas, il faudra faire une allocation dynamique dans la fonction appelée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part youhou *ma_fonction()
Merci beaucoup![]()
Non. Pour faire ça, on utilse un tableau ou une structure dont on passe l'adresse (du premier élément si c'est un tableau) en paramètre.Envoyé par Lolita59
Impossible en C.Envoyé par fumiste972
http://emmanuel-delahaye.developpez.....htm#param_tab
On peut faire ça,oui, si la structure est petite (un ou deux int). En principe, on préfère passer/retourner l'adresse de la structure.Envoyé par Lolita59
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 youhou *ma_fonction(void); void ma_fonction(youhou *);
Effectivement il vaut mieux ne pas retourner de structure dans une fonction et utiliser un pointeur passe en parametre.
Ou bien on demande à un castor de le faire. Parce que c'est fort un castor quand même![]()
Bah, si tu savais pourquoi les castors ont la queue plate, tu verrais qu'ils ne sont pas si forts que ça !Envoyé par Lolita59
Là, il faut que tu ailles jusqu'au bout ...Envoyé par Emmanuel Delahaye
![]()
"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
Non merci, demande çà aux canards !Envoyé par Trap D
à force de se faire sucer par les canards...
si tous les hommes étaient capables de construire leur maison avec leur queue, ça donnerait aux femmes une raison réelle de compter sur eux.
Le castor sait y faire lui![]()
Bah, la queue du castor n'a rien à voir. C'est plutôt ses dents et ses petits bras musclés...Envoyé par Lolita59
J'ai l'impression qu'on est légèrement hors sujet et qu'on va finir à la taverne...
Ben là, on est vraiment sorti de la fonction![]()
"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
Partager