そうそう、 sizeof は(関数じゃなくて)演算子だから
for (i = 0; i < sizeof(array) / sizeof(array[0]); i++) でなく
for (i = 0; i < sizeof array / sizeof array[0]; i++) と書ける。

ということは知ってるけどsizeofにカッコがついてないと落ち着かないわ。
上の2番目の例を見ても、何やら股間がスースーする感じ。