#include /* General program actions. */ void func_one(); void func_two(); void func_three(); /* Sets up the despatch table */ voi d setup( void (*despatch[3])()); int main() { /* Declare and setup the despatch table */ void (*despatch[3])(void) = {NULL}; setup(despatch); /* Call the second program action */ (*despatch[1])(); return 0; } void setup( void (*despatch[3])()) { despatch[0] = &func_one; despatch[1] = &func_two; despatch[2] = &func_three; } void func_one() { printf("Program action one\n"); } void func_two() { printf("Program action two\n"); } void func_three() { printf("Program action three\n"); }