5

C++、C#、C、D、Java などはゼロ ベースです。

Matlab は、私が知っている 1 で始まる唯一の言語です。

4

6 に答える 6

1

配列はポインター演算を使用して値を参照するためだと思います。基本的に、配列には連続したメモリがあり、5 番目の要素 (a[4]) を参照する場合は、int の + 4 * サイズが実行されます。

たとえば、1 から始めて 5 番目の要素を参照するには、+ (5-1) * int のサイズのようにする必要があります。

于 2013-08-16T22:34:20.827 に答える
0

おそらく「C」の方が効率的であるためにそれを取得しました。0 から始まる配列の項目のアドレスを計算するには、Index を ItemSize で乗算するだけで十分です。1 から始まる配列の場合は、(Index-1)*ItemSize を計算する必要があります。最も人気のある言語は「C」、次に「C++」です。したがって、新しい言語も同じ規則に従う必要があります。これは、C/C++ を使用する人の間違いを避けるのに役立ちます。しかし、この質問はトピックから外れているようで、モデレーターによって閉じられると思います.

PS Delphi/Pascal の文字列は 1 ベースですが、配列の場合は範囲​​を指定する必要があるため、好きなものを使用できます。

于 2013-08-16T22:34:41.737 に答える
-1

10 個の整数 0..9 があるため

于 2013-08-16T23:22:02.697 に答える