"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं C++ में सरणी आकार को परिभाषित करने के लिए एक गैर-स्थिर चर का उपयोग क्यों नहीं कर सकता?

मैं C++ में सरणी आकार को परिभाषित करने के लिए एक गैर-स्थिर चर का उपयोग क्यों नहीं कर सकता?

2024-11-07 को प्रकाशित
ब्राउज़ करें:884

Why Can\'t I Use a Non-Constant Variable to Define an Array Size in C  ?

कॉन्स्ट इंट को ऐरे साइज़ के रूप में उपयोग करने पर प्रतिबंधों को समझना

सी में, ऐरे साइज़ के रूप में कॉन्स्ट इंट का उपयोग अधीन है कुछ प्रतिबंध. आइए देखें कि ये प्रतिबंध क्यों मौजूद हैं। आकार = 2; पूर्णांक सरणी[आकार] = {0}; // संकलन सफल हुआ

  1. संकलन त्रुटि:

    int a = 2; स्थिरांक int आकार = ए; पूर्णांक सरणी[आकार] = {0}; // संकलन विफल रहता है
    const int size = 2;
    int array[size] = {0}; // Compilation succeeds
  2. कारण:

    इन प्रतिबंधों का अंतर्निहित कारण निरंतर अभिव्यक्ति की अवधारणा से उत्पन्न होता है। सी में, एक स्थिर अभिव्यक्ति एक संकलन-समय स्थिरांक है जिसका मूल्यांकन संकलन के दौरान किया जा सकता है। पहले परिदृश्य में, आकार को संकलन-समय स्थिरांक (यानी, 2) के साथ आरंभ किया जाता है, जिससे संकलक को संकलन समय पर सरणी का आकार निर्धारित करने की अनुमति मिलती है। यह जानकारी मेमोरी आवंटन के लिए महत्वपूर्ण है।

    int a = 2;
    const int size = a;
    int array[size] = {0}; // Compilation fails
    इन सीमाओं के पीछे तर्क प्रोग्रामिंग भाषा में स्थिरता और पूर्वानुमान बनाए रखना है। सरणी आकार घोषणाओं में गैर-निरंतर अभिव्यक्तियों की अनुमति देने से संकलन के दौरान अनिश्चितताएं आएंगी और संभावित रूप से रनटाइम त्रुटियां या अप्रत्याशित व्यवहार हो सकता है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3