C प्रोग्रामिंग भाषा में चार स्टोरेज क्लासेस हैं, जो निम्नलिखित हैं:
- auto
- extern
- static
- register
स्टैटिक वेरिएबल्स
कीवर्ड static है।
स्कोप
स्टैटिक वेरिएबल का स्कोप यह है कि यह प्रोग्राम भर में और फंक्शन कॉल्स के बीच अपने मान को बनाए रखता है।
स्टैटिक वेरिएबल्स केवल एक बार आरंभ किए जाते हैं।
डिफ़ॉल्ट मान शून्य है।
उदाहरण 1
निम्नलिखित C प्रोग्राम स्टैटिक स्टोरेज क्लास के लिए है:
#include <stdio.h>
void inc() {
static int i = 1;
printf("%d ", i);
i++;
}
int main() {
inc();
inc();
inc();
return 0;
}
आउटपुट
आउटपुट नीचे दिया गया है:
1 2 3
उदाहरण 2
निम्नलिखित एक और C प्रोग्राम स्टैटिक स्टोरेज क्लास के लिए है:
#include <stdio.h>
void inc() {
auto int i = 1;
printf("%d ", i);
i++;
}
int main() {
inc();
inc();
inc();
return 0;
}
आउटपुट
आउटपुट नीचे दिया गया है:
1 1 1
उदाहरण 3
निम्नलिखित स्टैटिक स्टोरेज क्लास के लिए C प्रोग्राम का तीसरा उदाहरण है:
#include <stdio.h>
// फंक्शन घोषणा
void function();
int main() {
function();
function();
return 0;
}
// फंक्शन परिभाषा
void function() {
static int value = 1; // स्टैटिक वेरिएबल घोषणा
printf("\nvalue = %d", value);
value++;
}
आउटपुट
आउटपुट नीचे दिया गया है:
value = 1 value = 2