Hello to all

Variably modified types are subject to certain restrictions , just as variable-length arrays are. The most important restriction is that the declaration of a variably modified type must be inside the body of a function or in a function prototype

Code:
void f(int m , int n)
{
int a[m][n] , (*p)[n];

p=a;

//....
}
What does it mean? That we can't declare such a pointer as a global variable?

Thank you in advance.