Tableau de pointeurs de fonction en C

J’ai beaucoup de mal à comprendre la syntaxe des pointeurs de fonction. Ce que j’essaie de faire est d’avoir un tableau de pointeurs de fonction qui ne prend aucun argument et retourne un pointeur vide. Quelqu’un peut-il aider avec ça?

Chaque fois que la syntaxe composée devient trop compliquée, un typedef clarifie généralement les choses.

Par exemple

 typedef void *(* funcPtr)(void); funcPtr array[100]; 

Qui, sans le typedef, deviendrait:

 void *(* array[100])(void); 

Utilisez typedef s

 typedef void* func(void); func *arr[37]; 

Commencez avec le nom du tableau et sortez en vous rappelant que [] et () liés avant * ( *a[] est un tableau de pointeur, (*a)[] est un pointeur sur un tableau, *f() est une fonction retournant un pointeur, (*f)() est un pointeur sur une fonction):

  farr -- farr farr[N] -- is an N-element array *farr[N] -- of pointers (*farr[N])( ) -- to functions (*farr[N])(void) -- taking no arguments *(*farr[N])(void) -- and returning pointers void *(*farr[N])(void); -- to void 

Consultez http://www.newty.de/fpt/fpt.html#arrays pour des exemples et des explications sur les tableaux de pointeurs de fonctions C et C ++.