2

リストと配列をインデックス 0 から開始するのに十分な理由があるとは思いません。 のように 1 から開始する方が自然だと思いますL[1],...,L[length(L)]。Matlab など、0 の代わりに 1 を使用する言語もありますが、それらはほとんどありません。

リストのインデックスをゼロから開始する理由がある人はいますか?

PD: 私はすでにダイクストラ引数と C のポインター引数を読んで、ポインターによるメモリ オフセットについて説明しています。とても説得力があるとは思えません。

4

2 に答える 2

1

プログラミングの初期の頃は、ほとんどの場合、メモリ指向でプログラマーはアドレスに苦労しなければなりませんでした。1 ベースのインデックスを導入すると、システム プログラミングを扱うプログラムのアドレス計算に別の混乱 (計算オーバーヘッド) が発生する可能性がありました。配列とポインタを互いに類似した表現として保持する正当な理由。

于 2012-10-07T19:48:25.593 に答える
0

ポスト配列コレクションに0ベースのインデックスを使用すること自体は必要ないというのは公正な観察かもしれませんが、2つのインデックスシステムを持つことは面倒です(VB6コレクションと配列を考えています)さらに、単一のインデックスシステムを使用すると、両方のプリミティブの処理が容易になりますおよび複雑なコレクション型を一貫して(問題の言語によっては一般的に)。したがって、型に応じて 1 および 0 ベースのインデックス作成を選択的に使用する利点はせいぜいなく、少なくとも 0 ベースのインデックス作成を使用する利点があることを考えると、それが持続している理由だと思います。

于 2012-10-07T19:48:56.337 に答える