C では、配列のインデックスが 1 ではなく 0 から始まるのはなぜですか? 配列の最初の要素がa
ではa[0]
なく であるのはなぜですかa[1]
?
ベストアンサー1
Cでは、配列の名前は本質的にポインタである[コメントを参照してください]はメモリ位置への参照であり、式は開始要素から 要素離れたarray[n]
メモリ位置を参照しますn
。つまり、インデックスはオフセットとして使用されます。配列の最初の要素は、配列が参照するメモリ位置 (0 要素離れた位置) に正確に含まれているため、 と表記する必要がありますarray[0]
。
詳細情報:
http://developeronline.blogspot.com/2008/04/why-array-index-should-start-from-0.html