首頁  >  文章  >  後端開發  >  在C語言中,什麼是數組的越界索引?

在C語言中,什麼是數組的越界索引?

WBOY
WBOY轉載
2023-08-27 21:05:051177瀏覽

在C語言中,什麼是數組的越界索引?

假設您有一個包含四個元素的陣列。那麼,數組索引將從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]到std[3]。但是,這裡我們將值 500 賦給了 std[4]。

因此,程式已成功編譯並執行。但是,在列印該值時,std[4] 的值是垃圾。我們在其中分配了 500,結果是 2314。

以上是在C語言中,什麼是數組的越界索引?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除