वैश्विक और स्थिर चर को उनके डिफ़ॉल्ट मानों के लिए प्रारंभ किया जाता है क्योंकि यह सी या सी ++ मानकों में है और यह संकलन समय पर शून्य से मान निर्दिष्ट करने के लिए स्वतंत्र है। स्टैटिक और ग्लोबल वैरिएबल दोनों ही जेनरेट किए गए ऑब्जेक्ट कोड के समान व्यवहार करते हैं। इन चरों को .bss फ़ाइल में आवंटित किया जाता है और लोड होने के समय यह चरों को स्थिरांक आवंटित करके स्मृति आवंटित करता है।
निम्नलिखित वैश्विक और स्थिर चर का एक उदाहरण है।
उदाहरण
#include <stdio.h> int a; static int b; int main() { int x; static int y; int z = 28; printf("The default value of global variable a : %d", a); printf("\nThe default value of global static variable b : %d", b); printf("\nThe default value of local variable x : %d", x); printf("\nThe default value of local static variable y : %d", y); printf("\nThe value of local variable z : %d", z); return 0; }
आउटपुट
The default value of global variable a : 0 The default value of global static variable b : 0 The default value of local variable x : 0 The default value of local static variable y : 0 The value of local variable z : 28
उपरोक्त कार्यक्रम में, वैश्विक चर मुख्य () फ़ंक्शन के बाहर घोषित किए जाते हैं और उनमें से एक स्थिर चर है। तीन स्थानीय चर घोषित किए गए हैं और चर z को भी प्रारंभ किया गया है।
int a; static int b; …. int x; static int y; int z = 28;
उनके डिफ़ॉल्ट मान मुद्रित होते हैं।
printf("The default value of global variable a : %d", a); printf("\nThe default value of global static variable b : %d", b); printf("\nThe default value of local variable x : %d", x); printf("\nThe default value of local static variable y : %d", y); printf("\nThe value of local variable z : %d", z);