This was asked to me in an interview! i really got confused
Divide big problem into smaller parts:
/* char_func_ptr is pointer to function returning pointer to char */
typedef char* (*char_func_ptr)();
/* func_func_ptr is a pointer to function returning above type */
typedef char_func_ptr (*func_func_ptr)();
/* the_array is array of desired function pointers */
func_func_ptr the_array[42];