स्कोप प्रोग्राम का एक क्षेत्र है और मोटे तौर पर कहें तो तीन स्थान हैं जहां वेरिएबल्स घोषित किए जा सकते हैं –
- एक फंक्शन या ब्लॉक के अंदर जिसे लोकल वेरिएबल्स कहा जाता है,
- फंक्शन पैरामीटर्स की परिभाषा में जिसे फॉर्मल पैरामीटर्स कहा जाता है।
- सभी फंक्शन्स के बाहर जिसे ग्लोबल वेरिएबल्स कहा जाता है।
लोकल वेरिएबल्स का उपयोग केवल उन स्टेटमेंट्स द्वारा किया जा सकता है जो उस फंक्शन या कोड ब्लॉक के अंदर हैं। लोकल वेरिएबल्स अपने आप फंक्शन्स के लिए ज्ञात नहीं होते।
उदाहरण
#include <iostream>
using namespace std;
int main() {
// लोकल वेरिएबल घोषणा:
int a, b;
int c;
// वास्तविक आरंभीकरण
a = 10;
b = 20;
c = a + b;
cout << c;
return 0;
}
आउटपुट
इससे आउटपुट मिलेगा –
30
ग्लोबल वेरिएबल्स सभी फंक्शन्स के बाहर परिभाषित होते हैं, आमतौर पर प्रोग्राम के शीर्ष पर। ग्लोबल वेरिएबल्स आपके प्रोग्राम के पूरे जीवनकाल में अपना मान बनाए रखते हैं। एक ग्लोबल वेरिएबल को किसी भी फंक्शन द्वारा एक्सेस किया जा सकता है।
उदाहरण
#include <iostream>
using namespace std;
// ग्लोबल वेरिएबल घोषणा:
int g;
int main() {
// लोकल वेरिएबल घोषणा:
int a, b;
// वास्तविक आरंभीकरण
a = 10;
b = 20;
g = a + b;
cout << g;
return 0;
}
आउटपुट
इससे आउटपुट मिलेगा –
30
एक प्रोग्राम में लोकल और ग्लोबल वेरिएबल्स का एक ही नाम हो सकता है लेकिन फंक्शन के अंदर लोकल वेरिएबल का मान प्राथमिकता लेगा। उसी नाम वाले ग्लोबल वेरिएबल को एक्सेस करने के लिए, आपको स्कोप रिज़ॉल्यूशन ऑपरेटर का उपयोग करना होगा।
उदाहरण
#include <iostream>
using namespace std;
// ग्लोबल वेरिएबल घोषणा:
int g = 20;
int main() {
// लोकल वेरिएबल घोषणा:
int g = 10;
cout << g; // लोकल
cout << ::g; // ग्लोबल
return 0;
}
आउटपुट
इससे आउटपुट मिलेगा –
10 20