ในภาษาเช่น 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]);