int *x[5] means that an array is defined, and each element in the array is a pointer, and these pointers point to int type;
int (*x)[5] Indicates that the definition is a pointer, which points to an array with 5 int-type elements.
int *x[5] represents an array, int (*x)[5] represents a pointer.