In situations like this, do a typedef to name your function pointersignature, that makes it far simpler.:
typedef void (*MESSAGE_HANDLER)MESSAGE_HANDLER(void); with that in place, it should be just:
const MESSAGE_HANDLER * const handlers[] = { function1, function2 }; To get the actual content of the array constant.
EDIT: Removed pointer part from the typedef, this really is better (live and learn).