भंडारण वर्ग चर के दायरे, जीवनकाल और बंधन को निर्दिष्ट करते हैं।
एक चर को पूरी तरह से परिभाषित करने के लिए, किसी को न केवल इसके 'प्रकार' बल्कि इसके भंडारण वर्ग का भी उल्लेख करना होगा।
एक चर नाम कंप्यूटर मेमोरी के भीतर कुछ भौतिक स्थान की पहचान करता है, जहां चर के मूल्यों को संग्रहीत करने के लिए बिट्स का संग्रह आवंटित किया जाता है।
भंडारण वर्ग हमें निम्नलिखित कारक बताता है -
- वेरिएबल कहाँ संग्रहीत किया जाता है (मेमोरी या सीपीयू रजिस्टर में)?
- अगर कुछ भी इनिशियलाइज़ नहीं किया गया है, तो वेरिएबल का प्रारंभिक मान क्या होगा?
- चर का दायरा क्या है (जहां इसे एक्सेस किया जा सकता है)?
- चर का जीवन काल क्या है?
दायरा
स्कोप किसी वस्तु की दृश्यता को परिभाषित करता है। यह परिभाषित करता है कि किसी वस्तु तक कहाँ पहुँचा जा सकता है।
दायरा चर स्थानीय या वैश्विक है
- ब्लॉक के भीतर परिभाषित चर का स्थानीय दायरा होता है। वे केवल उसी ब्लॉक के लिए दृश्यमान हैं जिसमें उन्हें परिभाषित किया गया है।
- वैश्विक क्षेत्र में परिभाषित चर उनकी परिभाषा से कार्यक्रम के अंत तक दिखाई देता है। यह कार्यक्रम में हर जगह दिखाई देता है।
उदाहरण
एक चर के दायरे के लिए सी कार्यक्रम निम्नलिखित है -
#include<stdio.h> int c= 30; /* global area */ main ( ) { int a = 10; //local scope// printf ("a=%d,c=%d"a,c); fun ( ); } fun ( ){ printf ("c=%d",c); //global variable }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -
a =10, c = 30 c = 30
उदाहरण
स्थानीय और वैश्विक चर के लिए सी कार्यक्रम निम्नलिखित है -
#include<stdio.h> int a,b; a=1,b=2; main() { int c,d; printf("enter c and d values:"); scanf("%d%d",&c,&d); c=c+d; //local variables b=a*b; //global variables printf("c value is:%d\n",c); printf("b value is:%d\n",b); }
आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्न आउटपुट उत्पन्न करता है -
enter c and d values:4 7 c value is:11 b value is:2