Bonjour,
Est-ce que quelqu'un peut m'expliquer la forme étrange que prend cette fonction et comment elle fonctionne ?
merci pour votre aide.Code:void (*printDonnee) (typedonnee);
Version imprimable
Bonjour,
Est-ce que quelqu'un peut m'expliquer la forme étrange que prend cette fonction et comment elle fonctionne ?
merci pour votre aide.Code:void (*printDonnee) (typedonnee);
Et la fonction susmentionnée est liée à celle-ci :
Code:
1
2
3
4
5
6 /* Initialise les fonctions de comparaison et d'impression */ void initFonctions (int (*cp)(typedonnee, typedonnee), void (*pr) (typedonnee)) { compDonnee = cp; printDonnee = pr; }
Il s'agit ici de pointeurs de fonctions. La fonction initFonctions prend deux pointeurs de fonctions en paramètres en les enregistre dans ce qui sont, je pense, des variables globales de types correspondants.
FAQ : http://c.developpez.com/faq/?page=Le...r-une-fonction
En précisant également que « typedonnee » n'est pas le nom d'un argument mais le type de celui qui va y prendre place. L'identifiant « typedonnee » a donc probablement été déclaré au préalable à l'aide de typedef.