Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी/सी ++ में सीमा से बाहर सरणी तक पहुंचना


Java जैसी भाषा में, एक अपवाद जैसे java.lang.ArrayIndexOutOfBoundsException हो सकता है यदि किसी सरणी को सीमा से बाहर एक्सेस किया जाता है। लेकिन सी में ऐसी कोई कार्यक्षमता नहीं है और अपरिभाषित व्यवहार तब हो सकता है जब किसी सरणी को सीमा से बाहर एक्सेस किया जाता है।

एक प्रोग्राम जो इसे 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

आइए अब उपरोक्त कार्यक्रम को समझते हैं।

सरणी एआर ने केवल सबस्क्रिप्ट 4 तक मान निर्दिष्ट किए हैं। इसलिए जब सरणी तत्व मुद्रित होते हैं, तो एआर [5] परिणाम कचरा मान में होता है। इसे दिखाने वाला कोड स्निपेट इस प्रकार है।

int arr[] = {1,2,3,4,5};
printf("The elements of array : ");
for(int i = 0; i<6; i++)
printf(" %d",arr[i]);

  1. सी/सी++ प्रोग्राम मर्ज सॉर्ट का उपयोग करके एक सरणी में व्युत्क्रमों की गणना करने के लिए?

    दिए गए सरणी को क्रमबद्ध करने के लिए होने वाले व्युत्क्रमों की संख्या को व्युत्क्रम गणना के रूप में जाना जाता है। उलटा समस्या एक शास्त्रीय समस्या है जिसे मर्ज सॉर्ट एल्गोरिदम का उपयोग करके हल किया जा सकता है। इस समस्या में हम इसके बाईं ओर सभी तत्वों को अधिक से अधिक गिनेंगे और गिनती को आउटपुट में जोड़

  1. C/C++ में एक बहुआयामी सरणियों का प्रारंभ

    बहुआयामी सरणी में, सरणी का आयाम 1 से अधिक होना चाहिए। निम्न आरेख 3 x 3 x 3 आयाम वाले बहुआयामी सरणी के लिए स्मृति आवंटन रणनीति दिखाता है। यह एक बहुआयामी सरणी को इनिशियलाइज़ करने के लिए C++ प्रोग्राम है। एल्गोरिदम Begin    Initialize the elements of a multidimensional array.    

  1. किसी सरणी को सीमा से बाहर एक्सेस करने से C++ में कोई त्रुटि क्यों नहीं होती है?

    यह इस तथ्य के कारण है कि C++ बाउंड चेकिंग नहीं करता है। जावा और पायथन जैसी भाषाओं में सीमा जांच होती है, इसलिए यदि आप सीमा से बाहर तत्व तक पहुंचने का प्रयास करते हैं, तो वे एक त्रुटि फेंक देते हैं। C++ डिज़ाइन सिद्धांत यह था कि यह समतुल्य C कोड से धीमा नहीं होना चाहिए, और C सरणी सीमा जाँच नहीं करता