char (*p)[256] = &s;
こうした場合、配列の先頭要素にアクセスするには、*p[0] **p のどちらでも動作する。
ならばポインタのポインタではないか、といいたくなる気持ちも分からなくはないが、

char (*p)[256];
char **q;
としたときの、sizeof(*p) と sizeof(*q) は違う。
*p は char [256]型であり、*q は char *型だから。