If I have this
int (*p)[2];
and try to do
*(*(p))=5;
it will throw segFault. it should.
But if I have
char (*p)[2];
*(*(p))=5; //works
*(*(p+1))=7; //works
Can some one explain why pointer to 2d char array
treated differently than pointer to 2 d int array
in C