Difficulté à comprendre un prototype (fonction signal())

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

J'aurais besoin d'une indication concernant la fonction signal dont le prototype donné par le man est :
void (*signal(int sig, void (*func)(int)))(int);


Quelle différence avec ceci?
void signal(int sig, void (*func)(int));


Je ne comprends pas l'ajout du (int) à la fin ni la mise sous forme d'un pointeur sur fonction.
Pouvez-vous éclairer ma lanterne je vous prie?

En revanche j'ai bien compris le deuxième argument (func).
Merci d'avance pour votre aide!

Cordialement.
Orinym
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Le premier prototype n'est pas celui de signal mais le prototype d'un pointeur de fonction sur signal.

Le second est bien le prototype de signal.

Cdlt,
0
Utilisateur anonyme
 
Entendu, merci! :)
0