Normal pointers can be stored using a generic void*. e.g.
void*
void* arr[10]; arr[0] = pChar; arr[1] = pINt; arr[2] = pA;
Sometime
Use a union of your function pointer types, this works in both C and C++ and assures sufficient storage for the pointers (which are likely the same size, still...)