Since this is a pointer to a function, this implies there has to be a function somewhere defined that we eventually want to point to that also takes in int*. Would this qualify for such a function:
int h(int* v);
so g is meant to point to a function as such, right?
Yes, if you want to declare g as a regular variable and not as a function parameter that is, except that the return type is int* instead of int in your original code.