void and (void) in function declaration

Hello,

From a previous topic http://arduino.cc/forum/index.php/topic,66401.0.html
I came across the code segment below and the (void) has stumped me.

I would be grateful if someone would explain the function since I only know the single void declaration.
Thanks in advance.

void (*menu_funcs[NUM_MENU_ITEM])(void) = {

  condition,
  lager,
  ale,
  strike,
  boil

};

It's not a function, It's an array of function pointers. So something like this:

menu_funcs[1]();

Would be the same as this

lager();

...and the second void specifies the function takes no arguments.
A bit like me, really.

Pointers to functions allow you do some powerful stuff with the opportunity to make your code compact. I've rarely seen them used with the arduino, so you could easily forget what you just saw if it suits you. On the other hand, it's a useful technique to have in your toolbox.

Thanks all.

"pointers to functions" was the key phrase for Google.

AWOL:
...and the second void specifies the function takes no arguments.
A bit like me, really.

You're void?