/* test a theory */ #include typedef void voidFunc(void); typedef voidFunc *rVoidFunc(void); typedef rVoidFunc *rrVoidFunc(void); void hello(void) { printf("hello world\n"); } voidFunc *returnHello(void) { return hello; } rVoidFunc *returnRH(void) { return returnHello; } int main(int argc, char **argv) { voidFunc *helloFunc; rVoidFunc *rhFunc; rhFunc = returnRH(); helloFunc = rhFunc(); helloFunc(); return 0; }