Typedef int(*ptr_sur_f)(int*);

Résolu
nadia hareb Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Contributeur Dernière intervention   329
 
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   Statut Membre Dernière intervention  
 
MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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