ちなみに配列に&を付けても構わない

int main(void)
{
char *p, buf[128];

p = &&&&&buf;

return 0;
}

もコンパイルエラーにならない

しかしこれはお勧めしない
配列とポインタの関係を理解するのがあやふやになるからである