Defining an array of function pointers

DavidOConnor:

(*functionPtrs[index])(); //calls the function at the index of `index` in the array

You need to pass parameters to your functions.

And the declaration is for functions with no parameters.

Also calling the function correctly might help, at least it produces smaller code.

functionPtrs[index]();

Use a typedef to make things clearer.

typedef void(*iFunc)(void);

iFunc functionPtrs[ 5 ];
//...

functionPtrs[ 0 ] = func;
functionPtrs[ 0 ](); //Call func