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 :

syntaxe pointeur de fonction


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Par défaut syntaxe pointeur de fonction
    Bonjour j'ai une question de syntaxe.
    J'ai besoin de passer un pointeur de fonction en paramètre d'une autre fonction pour éviter d'écrire du code redondant. Le prototype des fonctions qui seront pointées
    est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    boolean fonction(NouveauType arg1[][8], char arg2, char arg3);
    Quelle sera la forme du pointeur sur cette fonction dans le prototype de la fonction appelante (en fait c'est pour le tableau que j'ai un doute) ?
    Par exemple est-ce que ceci convient?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void fonctionAppelante(char arg1,char arg2,boolean (*ptrFonction)(NouveauType[][8],char,char));

  2. #2
    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 KindPlayer Voir le message
    Par exemple est-ce que ceci convient?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    void fonctionAppelante(char arg1,char arg2,boolean (*ptrFonction)(NouveauType[][8],char,char));
    Mal aux yeux. Personnellement, j'utilise toujours un typedef, c'est beaucoup plus clair et maintenable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    typedef boolean fonction_f (NouveauType arg1[][8], int arg2, int arg3);
     
    void fonctionAppelante (int arg1, int arg2, fonction_t *ptrFonction);
    Nota : Des paramètres de type char ou short, ça n'existe pas. Il sont convertis en int automatiquement. Autant éviter le code de conversion qui ne sert à rien.

  3. #3
    Membre chevronné Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Par défaut
    Ouai c'est mieux avec un typedef en effet. Merci
    Pour ton nota, j'avoue que tu m'apprends un truc je l'ignorais complètement

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/07/2011, 18h56
  2. Declaration de fonction retournant un pointeur sur fonction
    Par pseudokifaitladifférence dans le forum C
    Réponses: 5
    Dernier message: 11/08/2003, 19h37
  3. Matrice de pointeurs de fonctions
    Par sebduth dans le forum C
    Réponses: 15
    Dernier message: 18/07/2003, 14h03
  4. [Kylix] Pointeur de fonctions
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 03/07/2003, 10h17
  5. pointeur de fonction
    Par kardath dans le forum C
    Réponses: 4
    Dernier message: 28/12/2002, 14h39

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