int *f();
int (*f)()
int *a[]
int (*a)[]
*(int[])
"Pointer to array of int" means you dereference it first to get an array of ints, then index to get an int.