ホームページ > バックエンド開発 > C++ > C 言語では、配列の範囲外のインデックスとは何ですか?

C 言語では、配列の範囲外のインデックスとは何ですか?

WBOY
リリース: 2023-08-27 21:05:05
転載
1257 人が閲覧しました

C 言語では、配列の範囲外のインデックスとは何ですか?

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 サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート