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

C भाषा में वेरिएबल के स्कोप (गुंजाइश) को समझाना

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

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

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

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

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

स्कोप (गुंजाइश)

स्कोप किसी ऑब्जेक्ट की विजिबिलिटी को परिभाषित करता है। यह परिभाषित करता है कि ऑब्जेक्ट को कहां एक्सेस किया जा सकता है।

स्कोप वेरिएबल लोकल या ग्लोबल होता है।

  • ब्लॉक के भीतर परिभाषित वेरिएबल का लोकल स्कोप होता है। वे केवल उसी ब्लॉक में विजिबल होते हैं जिसमें वे परिभाषित होते हैं।
  • ग्लोबल एरिया में परिभाषित वेरिएबल उनकी परिभाषा से लेकर प्रोग्राम के अंत तक विजिबल होता है। यह प्रोग्राम में हर जगह विजिबल होता है।

उदाहरण

वेरिएबल के स्कोप के लिए C प्रोग्राम:

#include <stdio.h>

int c = 30; /* ग्लोबल एरिया */

main() {
    int a = 10; // लोकल स्कोप
    printf("a = %d, c = %d", a, c);
    fun();
}

fun() {
    printf("c = %d", c); // ग्लोबल वेरिएबल
}

आउटपुट

a = 10, c = 30
c = 30

उदाहरण

लोकल और ग्लोबल वेरिएबल्स के लिए C प्रोग्राम:

#include <stdio.h>

int a, b;
a = 1, b = 2;

main() {
    int c, d;
    printf("c और d मान दर्ज करें: ");
    scanf("%d%d", &c, &d);
    c = c + d; // लोकल वेरिएबल्स
    b = a * b; // ग्लोबल वेरिएबल्स
    printf("c मान है: %d\n", c);
    printf("b मान है: %d\n", b);
}

आउटपुट

c और d मान दर्ज करें: 4 7
c मान है: 11
b मान है: 2
  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 भाषा में नेस्टेड इफ-एल्स स्टेटमेंट समझें

    नेस्टेड इफ एक इफ स्टेटमेंट है जो या तो इफ (या) एल्स का ऑब्जेक्ट है। इफ को दूसरे इफ (या) एल्स के अंदर रखा जाता है। सिंटैक्स नीचे दिए गए सिंटैक्स को देखें: if (condition1) { if (condition2) stmt1; else stmt2; } else { if (condition3) stmt3; else stmt4;

  1. C भाषा में  सिंपल इफ  स्टेटमेंट समझें C भाषा में 'सिंपल इफ' स्टेटमेंट समझें

    इफ कीवर्ड का उपयोग स्टेटमेंट्स के एक सेट को निष्पादित करने के लिए किया जाता है जब लॉजिकल कंडीशन ट्रू होती है। सिंटैक्स सिंटैक्स नीचे दिया गया है: if (condition) { // स्टेटमेंट(s) } सिंपल इफ स्टेटमेंट का कामकाज इफ ब्लॉक के अंदर के स्टेटमेंट्स केवल तभी निष्पादित होते हैं जब कंडीशन ट्रू होती