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]);