Bonjour,
J’aimerais savoir comment fonction et comment utiliser les pointeurs de fonction en C.
Si quelqu’un peut m’expliquer, je suis preneur .
Bonjour,
J’aimerais savoir comment fonction et comment utiliser les pointeurs de fonction en C.
Si quelqu’un peut m’expliquer, je suis preneur .
Commençons par une fonction de base sur laquelle nous allons pointer :
int add(int a, int b) {
return a+b;
}
Tout d’abord, définissons un pointeur vers une fonction qui reçoit 2 entiers et renvoie un entier:
int (*ptrF)(int,int);
Nous pouvons maintenant pointer vers notre fonction en toute sécurité :
ptrF = &add;
Maintenant que nous avons un pointeur vers la fonction, utilisons-la :
int somme = (*ptrF)(1, 2); // somme == 3
Passer le pointeur à une autre fonction est pratiquement la même chose :
int addOneAndTwo(int (*ptrF)(int, int)) {
return (*ptrF)(1, 2);
}
Nous pouvons également utiliser des pointeurs de fonction dans les valeurs de retour:
int (*ptrF(int n))(int, int) {
printf("Paramètre reçu %d", n);
int (*ptrF)(int,int) = &add;
return ptrF;
}