pointer to functions

for a state machine implementation, i want to have a declaration like below:

void (*states[])() = {state1,state2,state3}

but I wasnt able to compile properly. any alternative, suggestions??
I am a hardware designer and a newbie in state machine design in software, are there any dynamic C examples for state machine implementation?