たとえば、
char a[100];
として、
char (*p1)[100];
char *p2;
を定義して、
p1 = &a; (warning 出ない)
p2 = &a; (warning 出ても無視)
と代入して、
p1++;
p2++;
の意味の違いについてどうよ?