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

C भाषा में वेरिएबल की बाइंडिंग समझाना

स्टोरेज क्लासेस वेरिएबल्स के स्कोप, लाइफटाइम और बाइंडिंग को निर्दिष्ट करते हैं।

एक वेरिएबल को पूरी तरह से परिभाषित करने के लिए, न केवल उसका 'टाइप' बल्कि उसका स्टोरेज क्लास भी बताना आवश्यक है।

एक वेरिएबल नाम कंप्यूटर मेमोरी में कुछ भौतिक स्थान की पहचान करता है, जहां वेरिएबल के मानों को स्टोर करने के लिए बिट्स का संग्रह आवंटित किया जाता है।

स्टोरेज क्लास हमें निम्नलिखित कारक बताता है:

  • वेरिएबल कहां स्टोर होता है (मेमोरी या CPU रजिस्टर में)?
  • यदि कुछ इनिशियलाइज़ नहीं किया गया तो वेरिएबल का प्रारंभिक मान क्या होगा?
  • वेरिएबल का स्कोप क्या है (इसे कहां एक्सेस किया जा सकता है)?
  • वेरिएबल का जीवन क्या है?

बाइंडिंग

बाइंडिंग एक एप्लाइड ऑकरेंस (उपयोग) के लिए संबंधित बाइंडिंग ऑकरेंस (घोषणा/परिभाषा) ढूंढता है।

  • वेरिएबल्स का स्कोप पता होना चाहिए।

ब्लॉक स्ट्रक्चर क्या है?

किस ब्लॉक में आइडेंटिफायर वेरिएबल है?

  • यदि हम उसी आइडेंटिफायर नाम का फिर से उपयोग करते हैं तो क्या होगा?

'C' एक ही स्कोप में एक ही आइडेंटिफायर नाम के उपयोग को प्रतिबंधित करता है।

अलग-अलग स्कोप में एक ही नाम का उपयोग किया जा सकता है।

उदाहरण

double f, y;
int f() // त्रुटि
{
    ---
    ----
    ----
}
double y; // त्रुटि

उदाहरण

double y;
int f() {
    double f; // वैध
    int y; // वैध
}

उदाहरण

वेरिएबल की बाइंडिंग के लिए C प्रोग्राम:

#include <stdio.h>

int i = 33;

main() {
    extern int i;
    {
        int i = 22;
        {
            const volatile unsigned i = 11;
            printf("i = %d\n", i);
        }
        printf("i = %d", i);
    }
}

आउटपुट

i = 11
i = 22
  1. C भाषा में एल्स-इफ लैडर स्टेटमेंट समझें C भाषा में एल्स-इफ लैडर स्टेटमेंट समझें

    यह मल्टी-वे डिसीजन लिखने का सबसे सामान्य तरीका है। सिंटैक्स नीचे दिए गए सिंटैक्स को देखें: if (condition1) stmt1; else if (condition2) stmt2; // ... else if (condition_n) stmt_n; else stmt_x; एल्गोरिदम नीचे दिए गए एल्गोरिदम को देखें: b) तो c सबसे बड़ा प्रिंट करें iv. अन्यथा d सबसे बड़ा प्

  1. C भाषा में संरचना अवधारणा का उपयोग करके बिट फ़ील्ड की व्याख्या C भाषा में संरचना अवधारणा का उपयोग करके बिट फ़ील्ड की व्याख्या

    बिट फ़ील्ड का उपयोग वेरिएबल के आकार को बिट्स के संदर्भ में निर्दिष्ट करने के लिए किया जाता है। आमतौर पर, इसे एक संरचना के अंदर परिभाषित किया जाता है। बिट फ़ील्ड: 1 बाइट = 8 बिट्स उदाहरण के लिए, नीचे एक उदाहरण समझाया गया है: Struct info{ int x:2; }; यहां, x 2 बिट्स पर कब्जा करता है। बिट फ़ील

  1. C भाषा में यूनियन टू पॉइंटर (Union to Pointer) C भाषा में यूनियन टू पॉइंटर (Union to Pointer)

    यूनियन (Union) क्या है? यूनियन एक यूजर-डिफाइंड डेटा प्रकार है जो एक ही मेमोरी स्थान को विभिन्न डेटा प्रकारों के सदस्यों के लिए साझा करने की अनुमति देता है। किसी भी समय केवल एक सदस्य ही मान रख सकता है। यूनियन की घोषणा union यूनियन_नाम { डेटा_प्रकार सदस्य1; डेटा_प्रकार सदस्य2; // ... };