假設您有一個包含四個元素的陣列。那麼,數組索引將從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中文網其他相關文章!