&aのaは2の規則により特別に配列だけど、&aの返す値はアドレスってことね。
その値をsizeofに渡してるわけだから1の規則はあてはまらない。
1はアドレスじゃなくて配列の名前を渡した時だから。