#include <stdio.h> #include "funcs.h" typedef int (*func_ptr)(int); typedef func_ptr (*hof_ptr)(); int quad_it(int x) { return x * 4; } func_ptr hof_retval() { return quad_it; } void func_pointer3() { func_ptr g = hof_retval(); int x = g(5); printf("hof_retval int_value is: %d\n", x); int y = hof_retval()(6); printf("hof_retval int_value is: %d\n", y); hof_ptr hof = hof_retval; int z = hof()(7); printf("hof_retval int_value is: %d\n", z); }