Partenaires

CNRS IN2P3
UPMC
UPD
UPMC


Rechercher

Sur ce site

Sur le Web du CNRS


Accueil du site > Le LPNHE > Pages du personnel > Beau Tristan > Divers > Vielleries > pointeur de fonction

pointeur de fonction

5 octobre 2005

par Tristan Beau - 18 mai

Souvent la manipulation de pointeurs de fonction fait peur. Je présente ci-dessous un très simple exemple, dont je détaille le fonctionnement plus bas.

  • appel 0 : On imprime la valeur du pointeur de la fonction truc. Ce n’est pas très indicatif si ce n’est que c’est une valeur non nulle, particulière.
  • appel 1 : On vérifie que la fonction truc fonctionne bien, c’est à dire que l’on appelle correctement cette fonction (doit être afficher 2 bien sûr !).
  • appel 2 : On imprime la valeur du pointeur de fonction fint. Comme il n’y a pas eu d’initialisation particulière, cette valeur vaut n’importe quoi, et notamment pas la valeur du pointeur de la fonction truc.
  • appel 3 : Il n’en demeurre pas moins que fint est une fonction et qu’on peut l’appeler licitement. Évidemment, la valeur de retour donne n’importe quoi, voire fait s’arrêter l’exécution du programme.
  • appel 4 : L’initialisation du pointeur fint a eu lieu et on vérifie que le pointeur pointe bien vers truc (c’est la même valeur qu’à l’appel 0).
  • appel 5 : La fonction fint fonctionne correctement comme la fonction truc. Tout est parfait si 4 (2*2=4) s’affiche !
Facebook