ในภาษาเช่น Java มีข้อยกเว้น เช่น java.lang.ArrayIndexOutOfBoundsException อาจเกิดขึ้นหากมีการเข้าถึงอาร์เรย์นอกขอบเขต แต่ไม่มีฟังก์ชันดังกล่าวใน C และการทำงานที่ไม่ได้กำหนดอาจเกิดขึ้นได้หากมีการเข้าถึงอาร์เรย์นอกขอบเขต
โปรแกรมที่แสดงสิ่งนี้ในภาษา C มีดังต่อไปนี้
ตัวอย่าง
#include <stdio.h>
int main() {
int arr[] = {1,2,3,4,5};
printf("The elements of array : ");
for(int i = 0; i<6; i++)
printf(" %d",arr[i]);
return 0;
} ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นมีดังนี้
The elements of array : 1 2 3 4 5 32765
ตอนนี้เรามาทำความเข้าใจโปรแกรมข้างต้นกัน
อาร์เรย์ arr ได้กำหนดค่าไว้จนถึงตัวห้อย 4 เท่านั้น ดังนั้นเมื่อพิมพ์องค์ประกอบอาร์เรย์ arr[5] จะส่งผลให้เกิดค่าขยะ ข้อมูลโค้ดที่แสดงเป็นดังนี้
int arr[] = {1,2,3,4,5};
printf("The elements of array : ");
for(int i = 0; i<6; i++)
printf(" %d",arr[i]);