Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
884 connectés 

  FORUM HardWare.fr
  Programmation
  C

  question sur les pointeurs de fonctions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

question sur les pointeurs de fonctions

n°1565998
in_your_ph​ion
Posté le 28-05-2007 à 00:06:11  profilanswer
 

bonsoir;
 
 
Quelqu'un pourrait il m'expliquer ce que veut dire :
 

Code :
  1. void (*signal(int sig, void (*func)(int)))(int);


 
car je ne comprend pas tout. Je cois que signal est un pointeur vers une fonction qui prend en argument un entier et retourne rien. Mais je ne comprend pas les aramètres (int sig, void (*func)(int)) ...
 
merci par avance  :hello:

mood
Publicité
Posté le 28-05-2007 à 00:06:11  profilanswer
 

n°1566087
nORKy
Grmmph...
Posté le 28-05-2007 à 12:00:07  profilanswer
 

ca compile ton truc ?
Si oui, faut vraiment avoir l'esprit tordu, ou avoir des problèmes de conceptions.
Je peux t'explique 'void (*func)(int))'
C'est simple :
*func désigne que c'est un pointeur sur une fonction
Qui renvoi un rien (void)
et qui prends en parametre un int
 
"void (*signal)(" ca, j'aurait compris
"void *signal(" ca aussi, mais
"void (*signal(" me perturbe.. désolé.

n°1566100
matafan
Posté le 28-05-2007 à 12:24:28  profilanswer
 

Ouais ça m'a surpris aussi mais ça compile, et en plus sans warnings (gcc -Wall -c). Je ne comprend pas non plus à quoi correspond cette construction.

n°1566131
el muchach​o
Comfortably Numb
Posté le 28-05-2007 à 13:49:10  profilanswer
 

C'est du C parfaitemnt valide.  
Il y a forcément une documentation sous forme de commentaire, voire une doc d'API propre qq part et qu'il faut que tu te procures.  
Ou au moins, donne un bout de code où c'est utilisé, sinon, c'est le jeu des devinettes.

n°1566143
Elmoricq
Modérateur
Posté le 28-05-2007 à 14:09:10  profilanswer
 

au pif, c'est pour enregistrer un callback sur un signal posix

n°1566191
matafan
Posté le 28-05-2007 à 15:03:12  profilanswer
 

Indépendemment de la façon dont ce code est utilisé, est-ce quelqu'un comprend ce que cette ligne déclare ? Au final signal pointe sur quoi ? Si ça avait été :

Code :
  1. void (*signal)(int sig, void (*func)(int));


j'aurais compris (pointeur vers une fonction qui prend un int et un pointeur vers une fonction qui prend un int), mais là je vois pas.

n°1566265
in_your_ph​ion
Posté le 28-05-2007 à 16:25:33  profilanswer
 

Elmoricq a écrit :

au pif, c'est pour enregistrer un callback sur un signal posix


 
 
oui c'est quelque chose dans le genre, désolé mais je me rappelle plus ou je l'ai trouvé .... :s Je vais chercher

n°1566937
el muchach​o
Comfortably Numb
Posté le 29-05-2007 à 20:45:50  profilanswer
 

Elmoricq a écrit :

au pif, c'est pour enregistrer un callback sur un signal posix


ouais, je voyais aussi un truc de ce genre.

n°1566938
Elmoricq
Modérateur
Posté le 29-05-2007 à 20:46:50  profilanswer
 

et pour répondre à matafan, je ne comprends pas bien cette syntaxe non plus, et je n'ai pas eu le temps de zieuter (en plus le k&r est au boulot)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  question sur les pointeurs de fonctions

 

Sujets relatifs
question sur les pointeursQuestion PHP, PEAR SOAP, Dotnet et sérialisation
[J2EE] Question générale[C++]Est il possible de créer des "fonctions virtuelles globales"?
Question sur les listbox vba excelQuestion sur les schemas d'une base de données
Question bête sur notepad++pointeurs de fonctions
Pointeurs sur fonctions (question pointue !) 
Plus de sujets relatifs à : question sur les pointeurs de fonctions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR