Typedef int(*ptr_sur_f)(int*);

Résolu/Fermé
nadia hareb Messages postés 110 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 18 août 2010 - 5 févr. 2009 à 23:19
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 6 févr. 2009 à 11:04
Bonsoir,

de me demande c'est koi la segnification de cette expression
typedef int(*ptr_sur_f)(int*);


je comprends bien qu'on ai en train de declarer un pointeur sur fonction

mais j"arrive pas a comprendre l'utilité de typdef

3 réponses

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 329
6 févr. 2009 à 01:52
Bonsoir,
typedef int(*ptr_sur_f)(int*); signifie que tu définis un nouveau type. Les éléments que tu pourras utiliser seront les pointeurs sur des fonctions prenant en paramètre un int* et retournant un int.

Par exemple, si par la suite tu écris une fonction comme la suivante :
int fonct (int* a) {
 return 0;
}

alors tu pourras faire l'affectation suivante :
ptr_sur_f ptr = &fonct;
puis l'appel de la manière suivante :
int a = 5;
int b = (*ptr)(&a);


Cordialement,
1
nadia hareb Messages postés 110 Date d'inscription lundi 18 février 2008 Statut Membre Dernière intervention 18 août 2010
6 févr. 2009 à 01:57
MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
6 févr. 2009 à 11:04
Salut.
Pour compléter le sujet, tu trouvera là un guide pour comprendre les déclarations complexes en C : https://en.cppreference.com/w/cpp/language/types#reading_type_declarations
0