4 つの要素を含む配列があるとします。その場合、配列のインデックスは 0 から 3 になります。つまり、インデックス 0 から 3 の要素にアクセスできます。
ただし、3 より大きいインデックスを使用すると、範囲外のインデックスと呼ばれます。
境界外の配列インデックスを使用すると、コンパイラはコンパイルできず、実行すらできません。ただし、結果が正しいという保証はありません。
結果は不確実であり、多くの問題を引き起こす可能性があります。したがって、配列インデックスを使用するときは注意することをお勧めします。
次は、配列内のインデックスが範囲外である C プログラムです。
ライブ デモンストレーション#include<stdio.h> int main(void){ int std[4]; int i; std[0] = 100; //valid std[1] = 200; //valid std[2] = 300; //valid std[3] = 400; //valid std[4] = 500; //invalid(out of bounds index) //printing all elements for( i=0; i<5; i++ ) printf("std[%d]: %d</p><p>",i,std[i]); return 0; }
上記のプログラムを実行すると、次の結果が得られます -
std[0]: 100 std[1]: 200 std[2]: 300 std[3]: 400 std[4]: 2314
このプログラムでは、配列サイズが 4 であるため、配列のインデックスは std になります。 [0]から標準[3]まで。ただし、ここでは値 500 を std[4] に割り当てます。
したがって、プログラムは正常にコンパイルされ、実行されました。ただし、値を出力すると、std[4] の値はゴミになります。そこに 500 を割り当てた結果は 2314 です。
以上がC 言語では、配列の範囲外のインデックスとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。