कॉन्स्ट इंट को ऐरे साइज़ के रूप में उपयोग करने पर प्रतिबंधों को समझना
सी में, ऐरे साइज़ के रूप में कॉन्स्ट इंट का उपयोग अधीन है कुछ प्रतिबंध. आइए देखें कि ये प्रतिबंध क्यों मौजूद हैं। आकार = 2; पूर्णांक सरणी[आकार] = {0}; // संकलन सफल हुआ
int a = 2; स्थिरांक int आकार = ए; पूर्णांक सरणी[आकार] = {0}; // संकलन विफल रहता है
const int size = 2;
int array[size] = {0}; // Compilation succeeds
इन प्रतिबंधों का अंतर्निहित कारण निरंतर अभिव्यक्ति की अवधारणा से उत्पन्न होता है। सी में, एक स्थिर अभिव्यक्ति एक संकलन-समय स्थिरांक है जिसका मूल्यांकन संकलन के दौरान किया जा सकता है। पहले परिदृश्य में, आकार को संकलन-समय स्थिरांक (यानी, 2) के साथ आरंभ किया जाता है, जिससे संकलक को संकलन समय पर सरणी का आकार निर्धारित करने की अनुमति मिलती है। यह जानकारी मेमोरी आवंटन के लिए महत्वपूर्ण है।
int a = 2;
const int size = a;
int array[size] = {0}; // Compilation fails
इन सीमाओं के पीछे तर्क प्रोग्रामिंग भाषा में स्थिरता और पूर्वानुमान बनाए रखना है। सरणी आकार घोषणाओं में गैर-निरंतर अभिव्यक्तियों की अनुमति देने से संकलन के दौरान अनिश्चितताएं आएंगी और संभावित रूप से रनटाइम त्रुटियां या अप्रत्याशित व्यवहार हो सकता है।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3