IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Sortie de fonction


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 50
    Par défaut Sortie de fonction
    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

  2. #2
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    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.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2006
    Messages : 77
    Par défaut
    Ou encore mieux, utiliser des pointeurs que tu passes en argument de ta fonction !

  4. #4
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 50
    Par défaut
    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();

  5. #5
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    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.

  6. #6
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    par contre ce serait un truc du style ?
    Code :
    typedef struct
    {
    char *valeur1;
    int i;
    } youhou;

    youhou ma_fonction();[/LEFT]
    Oui ca ressemblerait a ca.

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Lolita59
    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 struct
    {
       char *valeur1;
       int    i;
    } youhou;
     
    youhou  ma_fonction();
    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.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    youhou  *ma_fonction(void);
    void ma_fonction(youhou  *);

  8. #8
    Membre expérimenté Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Par défaut
    Effectivement il vaut mieux ne pas retourner de structure dans une fonction et utiliser un pointeur passe en parametre.

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par fumiste972
    avec le return su peux faire sortir plusieurs valeur d'une fonction. il suffit de revoyer un tableau
    Impossible en C.

    http://emmanuel-delahaye.developpez.....htm#param_tab

  10. #10
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Lolita59
    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
    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.

Discussions similaires

  1. Perte de données en sortie de fonction
    Par sythpen dans le forum C++
    Réponses: 26
    Dernier message: 16/03/2011, 14h22
  2. Fuite mémoire en sortie de fonction
    Par lappeldupeuple dans le forum C
    Réponses: 9
    Dernier message: 23/07/2010, 14h29
  3. Pointeur générique comme sortie de fonction ?
    Par wilval dans le forum Débuter
    Réponses: 3
    Dernier message: 16/02/2010, 10h09
  4. Problème de variables entrée/sortie de fonctions
    Par cococococococo dans le forum Interfaces Graphiques
    Réponses: 11
    Dernier message: 13/06/2007, 12h22
  5. Réponses: 5
    Dernier message: 21/03/2006, 21h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo