Storage Class in C language




















Storage class:-

Every variable of 'C' language have a data type and a storage class. Data type of a variable shows which type of value will store in variable and how many bytes this variable will take in computer memory. Whereas storage class will provide following important information related with the variable -
1. In which type of memory (container), variable is placed.
2. Initial value of variable.
3. Scope of variable.
4. Life of variable.
"A class which is used to represent variables location, by default initial value, scope and life is called storage class."

सी लैंग्वेज के प्रत्येक वेरिएबल का डाटा टाइप एवं स्टोरेज क्लास होती है, वेरिएबल का डाटा टाइप उस वेरिएबल द्वारा राखी जाने वाली वैल्यू के प्रकार एवं मेमोरी साइज़ को(बाइट में) दर्शाता है जबकि स्टोरेज क्लास वेरिएबल से सम्बंधित निम्न महत्वपूर्ण जानकारी प्रदान करती है -
1. वेरिएबल को किस मेमोरी (कंटेनर) में रखा जायेगा 
2. वेरिएबल का प्रारंभिक मान क्या होगा 
3. वेरिएबल का स्कोप कहाँ तक होगा 
4. वेरिएबल की लाइफ कब तक रहेगी 
अतः वह क्लास जो वेरिएबल के मेमोरी , प्रारंभिक मान , स्कोप एवं लाइफ की जानकारी देती है स्टोरेज क्लास कहलाती है।   
    
'C' language uses following four storage classes -
सी लैंग्वेज में निम्न चार स्टोरेज क्लास प्रयुक्त की जाती है -

1.) Automatic storage class:-
Automatic storage class uses auto keyword for preparing a variable. Variable of this storage class will be stored in computer memory. Its by default initial value is garbage. Scope and life of this variable are local to the block. Generally all local variables are automatic storage class variable.
आटोमेटिक स्टोरेज क्लास ऑटो कीवर्ड का प्रयोग कर वेरिएबल तैयार करती है। इस स्टोरेज क्लास के वेरिएबल कंप्यूटर मेमोरी में स्थान ग्रहण करते है। इन वेरिएबल्स का प्रारंभिक मान गार्बेज(कूड़ा-कचरा) होता है। इन वेरिएबल का स्कोप एवं लाइफ सम्बंधित ब्लॉक तक सिमित होती है। सभी लोकल वेरिएबल, ऑटो स्टोरेज क्लास के वेरिएबल होते है      
Example :-
auto int a;
int a; (inside the block)

2.) Static storage class:-
Static storage class uses static keyword for preparing a variable. Variable of this class will be stored in computer memory.  Its by default initial value is zero. Scope of this variable is local to the block and its life is remain until the function calling completed. Hence static variable are used to maintain single copy of variable and to perform different function calling in a program.
स्टेटिक स्टोरेज क्लास स्टेटिक कीवर्ड का प्रयोग कर वेरिएबल तैयार करती है। इस स्टोरेज क्लास के वेरिएबल कंप्यूटर मेमोरी में स्थान ग्रहण करते है। इन वेरिएबल्स का प्रारंभिक मान शून्य होता है। इन वेरिएबल का स्कोप एवं लाइफ विभिन फंक्शन कालिंग के दौरान बनी रहती है। अतः प्रोग्राम में इन वेरिएबल्स की केवल एक ही कॉपी होती है एवं इनका प्रयोग फंक्शन कालिंग के लिए किया जाता है 
Example :-
static int a;

3.) Register storage class:-
Register storage class uses register keyword for preparing variable. Variable of this class will be stored in CPU register. Its by default initial value is garbage.  Scope and life of this variable is local to the block.  Register variable are used for storing of frequently used data and it will increase the performance of program. 
रजिस्टर स्टोरेज क्लास रजिस्टर कीवर्ड का प्रयोग कर वेरिएबल तैयार करती है। इस स्टोरेज क्लास के वेरिएबल सी.पी.यू. रजिस्टर में स्थान ग्रहण करते है। इन वेरिएबल्स का प्रारंभिक मान गार्बेज(कूड़ा-कचरा) होता है। इन वेरिएबल का स्कोप एवं लाइफ सम्बंधित ब्लॉक तक सिमित होती है। रजिस्टर वेरिएबल का प्रयोग अत्यधिक प्रयोग में लाये जाने वाले डाटा को संग्रहित करने के लिए किया जाता है जिससे प्रोग्राम का परफॉर्मेंस बढ़ जाता है        
Example :-
register int a;

4.) External storage class:-
External storage class uses extern keyword for preparing a variable.  Variable of this storage class will be stored in computer memory.  Its by default initial value is zero.  Scope of this variable is global and its life is remain until the program completed. External storage class are used to prepare global variable which utilizes computer memory.
एक्सटर्नल स्टोरेज क्लास एक्सटर्न कीवर्ड का प्रयोग कर वेरिएबल तैयार करती है। इस स्टोरेज क्लास के वेरिएबल कंप्यूटर मेमोरी में स्थान ग्रहण करते है। इन वेरिएबल्स का प्रारंभिक मान शून्य होता है। इन वेरिएबल का स्कोप एवं लाइफ प्रोग्राम के पूर्ण होने तक बनी रहती है। अतः एक्सटर्नल स्टोरेज क्लास का प्रयोग ग्लोबल वेरिएबल तैयार करने के लिए किया जाता है जिससे कंप्यूटर मेमोरी का प्रभावी उपयोग होता है 
Example :-
extern int a;
int a; (outside the block)

No comments:

Post a Comment