Typedef int(*ptr_sur_f)(int*);

Résolu
nadia hareb Messages postés 122 Statut Membre -  
Char Snipeur Messages postés 10112 Statut Contributeur -
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 1030 Statut Contributeur 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 122 Statut Membre
 
MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
0
Char Snipeur Messages postés 10112 Statut Contributeur 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