>まあ、ようするに&arrだけは結果の型がchar (*)[1]で、ほかは結果の型がchar *になる。

これは嘘
printf("%u", sizeof arr);