i[a] = i; は *(i + a) = i; と同じだから問題ないのかな?