C / C ++で配列インデックスがゼロから始まるのはなぜですか?
これをC++で示すプログラムは次のとおりです。
例
#include <iostream>
using namespace std;
int main() {
int arr[] = {5,8,9,3,5};
int i;
for(i = 0; i<5; i++)
cout<< arr[i] <<" ";
cout<<"\n";
for(i = 0; i<5; i++)
cout<< *(arr + i) <<" ";
return 0;
} 出力
上記のプログラムの出力は次のとおりです。
5 8 9 3 5 5 8 9 3 5
上記のプログラムを理解しましょう。
配列arr[]には5つの要素が含まれています。これらの要素は、配列表現arr [i]および*(arr + i)のforループを使用して表示されます。得られた結果はどちらの場合も同じです。これを示すコードスニペットは次のとおりです。
int arr[] = {5,8,9,3,5};
int i;
for(i = 0; i<5; i++)
cout<< arr[i] <<" ";
cout<<"\n";
for(i = 0; i<5; i++)
cout<< *(arr + i) <<" "; -
C /C++での多次元配列の初期化
多次元配列では、配列の次元は1より大きい必要があります。次の図は、次元が3 x 3x3の多次元配列のメモリ割り当て戦略を示しています。 これは、多次元配列を初期化するためのC++プログラムです。 アルゴリズム Begin Initialize the elements of a multidimensional array. Print the size of the array. Display the content of the array. End 例 #include<iostream>
-
C#配列でインデックス作成がゼロから始まるのはなぜですか?
配列は、インデックスのメモリ内のアドレスへのポインタでした。このインデックスは、配列の最初の要素でした。ここで、インデックスは、C言語が生まれる前からのオフセットと概念のようなものです。 配列要素が0Xff000から始まり、{35,23,67,88,90}のような5つの要素があるとします。したがって、intは4バイトを使用して格納されるため、メモリ内の配列は次のようになります。 0Xff000 has 35 0Xff004 has 23 0Xff008 has 67 0Xff012 has 88 0Xff016 has 90 つまり、配列にアクセスすると、ゼロオフセットはインデックス0にな