Pointeur sur une fonction

Signaler
Messages postés
47
Date d'inscription
mercredi 13 juin 2007
Statut
Membre
Dernière intervention
28 décembre 2010
-
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009
-
Bonjour,
J'ai déclarer un pointeur sur une fonction et je veux récuperer l'adresse de cette fonction comment faire?
int (*task1)( );
je veux mettre l'adresse dans une variable adress !

"Il n'y a pas de différence entre les êtres humains que par ce qu'ils font"

1 réponse

Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009
1
Voilà un exemple d'utilisation de pointeur de fonction :

#include <stdio.h>

// --- Déclaration du nouveau type "fct" = pointeur
// --- sur des fonctions de type "void xxx(const char*)"
typedef void(*fct)(const char*);



void fonction1(const char* texte)
{
   printf("%s de fonction1\n",texte);
}



void fonction2(const char* texte)
{
   printf("%s de fonction2\n",texte);
}



int main(void)
{
   fonction1("appel direct");
   fct p = fonction1;
   p("appel indirect");



   fonction2("appel direct");
   p = fonction2;
   p("appel indirect");
   return 0;
}


Ce qui donne :

appel direct de fonction1
appel indirect de fonction1
appel direct de fonction2
appel indirect de fonction2

Dans votre cas :




typedef int(*task1)();
...
task1 adresse = nom_de_la_fonction;




Jean-François