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 :

Declaration de fonction retournant un pointeur sur fonction


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Août 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Declaration de fonction retournant un pointeur sur fonction
    Est-ce que quelqu'un pourrait me dire comment on declare une fonction qui ne prends aucun argument et retourne un pointeur sur une fonction int fonction(int) ? Je n'ai pas trouvé dans la FAQ... Merci.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    Salut
    je m'allie a ta question, car j'ai consulté de facon rapide le net et je n'ai pas touvé dinformation sy répondant.
    A bon entendeur salut!
    TOUT CE QUI EST VRAISEMBLABLE N'EST PAS FORCEMENT VRAI . MEFIEZ VOUS

  3. #3
    Membre émérite
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Points : 2 747
    Points
    2 747
    Par défaut
    c'est vrai que c'est pas ecrit explicitement mais en utilisant ses neurones et ca http://lfe.developpez.com/FAQ/C/?pag...bleau_pointeur on peut y arrivé


    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
    21
    22
    23
    24
    25
    26
    27
    typedef int *(*F) (); /* F pointeur sur fonction */
     
    int *f1() /* une fonction de type F */
    {
        /* corps de la 1e fonction */
    } 
     
    int *f2() /* une autre fonction de type F */
    {
        /* corps de la seconde fonction */
    } 
     
    int main() {
        F tab_fonc[2]; /* un tableau de 2 pointeurs sur fonctions (2 types F) */
        int *tab; 
     
        /*initialisation du tableau de pointeurs sur fonctions */
        tab_fonc[0] = f1;
        tab_fonc[1] = f2;
     
        tab = tab_fonc[0](); /*appel d'une fonction */
        printf("%d %d\n", tab[0], tab[1]); 
     
        tab = tab_fonc[1](); /* appel de l'autre fonction */
        printf("%d %d\n", tab[0], tab[1]); 
        return 0; 
    }
    donc pour une fonction qui retourne un pointeur de fonction :

    F MaFonctionQuiRetourneUnPointeurDeFonction()
    il y a du linge sur la corde à linge

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 71
    Points : 78
    Points
    78
    Par défaut
    c'est bien simple il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    typedef int ( *LPFN ) (int);
    int fonction(int b)
    {
        return b*4;
    }
     
    LPFN retourne_une_fonction()
    {
        return fonction;
    }

  5. #5
    Candidat au Club
    Inscrit en
    Août 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Nickel merci.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 304
    Points : 253
    Points
    253
    Par défaut
    Merci je trouve que c'etait une information subtile.
    MErci encore une fois pour ce détail.
    A bientot
    TOUT CE QUI EST VRAISEMBLABLE N'EST PAS FORCEMENT VRAI . MEFIEZ VOUS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 10
    Dernier message: 29/05/2011, 19h18
  2. Réponses: 6
    Dernier message: 07/10/2009, 18h16
  3. Réponses: 4
    Dernier message: 23/06/2009, 16h52
  4. pointeurs sur fonction en C++
    Par cemoi dans le forum C++
    Réponses: 7
    Dernier message: 29/11/2004, 13h19
  5. [langage] Pointeur sur fonction
    Par Fanch.g dans le forum Langage
    Réponses: 2
    Dernier message: 02/10/2004, 10h43

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