C भाषा में ग्लोबल और स्टेटिक दोनों वेरिएबल को कॉन्स्टेंट मानों से आरंभ किया जाना चाहिए। ऐसा इसलिए है क्योंकि इन वेरिएबल के मान निष्पादन शुरू होने से पहले ज्ञात होने चाहिए। यदि ग्लोबल और स्टेटिक वेरिएबल के लिए कॉन्स्टेंट मान प्रदान नहीं किए जाते हैं तो एक त्रुटि उत्पन्न होगी।
ग्लोबल और स्टेटिक वेरिएबल के आरंभीकरण को प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है।
उदाहरण
#include <stdio.h>
int a = 5;
static int b = 10;
int main()
{
printf("The value of global variable a : %d", a);
printf("\nThe value of global static variable b : %d", b);
return 0;
}
आउटपुट
उपरोक्त प्रोग्राम का आउटपुट निम्नलिखित है।
The value of global variable a : 5 The value of global static variable b : 10
अब, आइए उपरोक्त प्रोग्राम को समझते हैं।
ग्लोबल वेरिएबल a का मान 5 है और स्टेटिक वेरिएबल b का मान 10 है। इसलिए, यह प्रोग्राम आवश्यकतानुसार काम करता है।
यदि कॉन्स्टेंट का उपयोग ग्लोबल और स्टेटिक वेरिएबल को आरंभ करने के लिए नहीं किया जाता है, तो यह एक त्रुटि का कारण बनेगा। इसे प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है।
#include <stdio.h>
int func()
{
return 25;
}
int main()
{
static int a = func();
printf("%d ", a);
}
उपरोक्त प्रोग्राम से "initializer element is not constant" त्रुटि उत्पन्न होती है। इसलिए, ग्लोबल और स्टेटिक वेरिएबल को केवल कॉन्स्टेंट से आरंभ किया जाना चाहिए।