typedef int *(*ojisan)(void); は
ojisan == int* (*foo)(void)        を入れるための型
     == int* foo(void) のポインタ    を入れるための型
って考えればいいと思う

#include <stdio.h>
int* foo(void) {
static int ary[] = {0, 1, 2, 3};
return ary;
}
int main() {
typedef int *(*ojisan)(void);
ojisan func = &foo;
int* ptr = (*func)();
printf("%d, %d", ptr[0], ptr[1], ptr[2], ptr[3]);
return 0;
}