int *ptr[10];
This is an array of 10 int*
pointers, not as you would assume, a pointer to an array of 10 int
s
int (*ptr)[10];
This is a pointer to an array of 10 int
It is I believe the same as int *ptr;
in that both can point to an array, but the given form can ONLY point to an array of 10 int
s