कई प्रोग्रामिंग भाषाएं, जैसे सी, गति बढ़ाने के लिए कभी भी स्वचालित सीमा जांच नहीं करती हैं। हालांकि, यह कई ऑफ-बाय-वन त्रुटियों को छोड़ देता है और बफर ओवरफ्लो को ध्यान में नहीं रखा जाता है। कई प्रोग्रामर मानते हैं कि ये भाषाएं तेजी से निष्पादन के लिए बहुत अधिक त्याग करती हैं।
क्या बाउंड चेकिंग ऐरे में की जाती है?
सार। ऐरे बाउंड चेकिंग यह निर्धारित करने के लिए संदर्भित करता है कि किसी प्रोग्राम में सभी सरणी संदर्भ उनकी घोषित सीमाओं के भीतर हैं या नहीं। सॉफ़्टवेयर सत्यापन और सत्यापन के लिए यह जाँच महत्वपूर्ण है क्योंकि उनके घोषित आकार से परे सरणियों की सदस्यता लेने से अप्रत्याशित परिणाम, सुरक्षा छेद, या विफलताएँ उत्पन्न हो सकती हैं।
C के पास बाउंड चेकिंग क्यों नहीं है?
यह इस तथ्य के कारण है कि C++ सीमा नहीं करता जाँच करता है। … सी ++ डिजाइन सिद्धांत यह था कि यह समकक्ष सी कोड से धीमा नहीं होना चाहिए, और सी सरणी सीमा जांच नहीं करता है। इसलिए यदि आप इसे सीमा से बाहर एक्सेस करने का प्रयास करते हैं, तो आपके प्रोग्राम का व्यवहार अपरिभाषित है क्योंकि यह C++ मानक में लिखा गया है।
क्या सी एरे इंडेक्स रनटाइम पर चेक किए जाते हैं?
असली समस्या यह है कि सी और सी++ कार्यान्वयन आम तौर पर सीमाओं की जांच नहीं करते हैं (न तो संकलन पर और न ही रनटाइम पर)। उन्हें ऐसा करने की पूरी अनुमति है। इसके लिए भाषा को दोष न दें।
क्या होता है यदि कोई सरणी सी में सीमा से बाहर हो जाती है?
ArrayIndexOutOfBoundsException हो सकता है यदि एक सरणी सीमा से बाहर पहुँचा है। परंतुसी में ऐसी कोई कार्यक्षमता नहीं है और अपरिभाषित व्यवहार हो सकता है यदि किसी सरणी को सीमा से बाहर पहुंचा दिया जाता है। एक प्रोग्राम जो इसे C में प्रदर्शित करता है वह इस प्रकार दिया गया है।