int(* p)[4]; //p is a pointer to an integer array with four elements.
int * p[4]; //p is an array with four elements, and each element is a pointer to an integer.
When to use it depends entirely on your needs. Generally speaking, int * p [4]; It is widely used to realize two-dimensional arrays.