Hi,
as many suggests here, I don't think ptr is an array of 10 ints. Instead, it is an array of integer pointers.
ptr is an array[sized 10] of integer pointers
In fact it creates an uninitialized set of pointers. You can understand it from the code below.
#include<stdio.h>
int main()
{
int (*ptr)[10];
*ptr[0]=1;
printf("%d", ptr[0][0]);
return 0;
}
The aforesaid code when compiled shows a warning:
"warning: 'ptr' is used uninitialized in this function"
But when executed it outputs '1'.
If you desire, you can
initialize ptr[0],ptr[1] etc with different sized integer arrays.
I think I have given enough explanations. Your comments are welcome. :-)