What is Static in C Language
Static in C -सी . में स्थिर
What is Static in C Language
स्टेटिक एक कीवर्ड है जिसका उपयोग सी प्रोग्रामिंग भाषा में किया जाता है। इसका उपयोग चर और कार्यों दोनों के साथ किया जा सकता है, अर्थात, हम एक स्थिर चर और स्थिर कार्य भी घोषित कर सकते हैं। एक साधारण चर उस दायरे तक सीमित होता है जिसमें इसे परिभाषित किया जाता है, जबकि स्थैतिक चर का दायरा पूरे कार्यक्रम में होता है। (Static in C)
निम्नलिखित स्थितियों में स्टेटिक कीवर्ड का उपयोग किया जा सकता है:
Static global variable -स्थिर वैश्विक चर
जब एक वैश्विक चर को स्थिर कीवर्ड के साथ घोषित किया जाता है, तो इसे स्थिर वैश्विक चर के रूप में जाना जाता है। यह कार्यक्रम के शीर्ष पर घोषित किया जाता है, और इसकी दृश्यता पूरे कार्यक्रम में होती है।
Static function -स्थिर कार्य
जब किसी फ़ंक्शन को एक स्थिर कीवर्ड के साथ घोषित किया जाता है जिसे स्थिर फ़ंक्शन के रूप में जाना जाता है। इसका जीवनकाल पूरे कार्यक्रम में होता है।
Static local variable -स्थिर स्थानीय चर
जब एक स्थानीय चर को स्थिर कीवर्ड के साथ घोषित किया जाता है, तो इसे स्थिर स्थानीय चर के रूप में जाना जाता है। एक स्थिर स्थानीय चर की स्मृति पूरे कार्यक्रम में मान्य होती है, लेकिन एक चर की दृश्यता का दायरा स्वचालित स्थानीय चर के समान होता है। हालांकि, जब फ़ंक्शन पहले फ़ंक्शन कॉल के दौरान स्थिर स्थानीय चर को संशोधित करता है, तो यह संशोधित मान अगले फ़ंक्शन कॉल के लिए भी उपलब्ध होगा।
Static member variables -स्थिर सदस्य चर
जब किसी वर्ग में स्थिर कीवर्ड के साथ सदस्य चर घोषित किए जाते हैं, तो इसे स्थिर सदस्य चर के रूप में जाना जाता है। उन्हें एक वर्ग के सभी उदाहरणों द्वारा पहुँचा जा सकता है, न कि किसी विशिष्ट उदाहरण के साथ। (Static in C)
Static method -स्थिर विधि
स्थिर कीवर्ड के साथ घोषित वर्ग के सदस्य कार्य को स्थिर विधि के रूप में जाना जाता है। यह एक वर्ग के सभी उदाहरणों द्वारा पहुँचा जा सकता है, न कि किसी विशिष्ट उदाहरण के साथ।
आइए एक उदाहरण के माध्यम से समझते हैं।
#include <stdio.h>
int main()
{
printf("%d",func());
printf("\n%d",func());
return 0;
}
int func()
{
int count=0; // variable initialization
count++; // incrementing counter variable
return count; }
उपरोक्त कोड में func () फ़ंक्शन को कहा जाता है। func() में, गिनती चर अद्यतन हो जाता है। जैसे ही फ़ंक्शन अपना निष्पादन पूरा करता है, गिनती चर की मेमोरी हटा दी जाएगी। यदि हम मेमोरी से काउंट को हटाना नहीं चाहते हैं, तो हमें काउंट वेरिएबल को स्टैटिक के रूप में उपयोग करने की आवश्यकता है। यदि हम वेरिएबल को स्टैटिक घोषित करते हैं, तो वेरिएबल को मेमोरी से हटाया नहीं जाएगा, भले ही फंक्शन अपना निष्पादन पूरा कर ले।
Output:-
1 1
Static variable -स्थिर चर
एक स्थिर चर एक चर है जो विभिन्न फ़ंक्शन कॉलों में अपना मान बना रहता है।
Syntax -वाक्य - विन्यास
एक स्थिर चर का सिंटैक्स नीचे दिया गया है:
static data_type variable_name;
आइए स्थिर चर का एक सरल उदाहरण देखें।
#include <stdio.h>
int main()
{
printf("%d",func());
printf("\n%d",func());
return 0;
}
int func()
{
static int count=0;
count++;
return count;
}
उपरोक्त कोड में, हमने काउंट वैरिएबल को स्टैटिक घोषित किया है। जब func () को कॉल किया जाता है, तो काउंट का मान 1 पर अपडेट हो जाता है, और अगले फंक्शन कॉल के दौरान, काउंट वेरिएबल का मान 2 हो जाता है। इसलिए, हम कह सकते हैं कि स्टैटिक वेरिएबल का मान फंक्शन कॉल के भीतर बना रहता है।
Output:-
1
2
Static Function -स्टेटिक फंक्शन
जैसा कि हम जानते हैं कि गैर-स्थैतिक फ़ंक्शन डिफ़ॉल्ट रूप से वैश्विक होते हैं, इसका मतलब है कि फ़ंक्शन को फ़ाइल के बाहर भी पहुँचा जा सकता है, लेकिन अगर हम फ़ंक्शन को स्थिर घोषित करते हैं, तो यह फ़ंक्शन के दायरे को सीमित कर देता है। स्टैटिक फंक्शन को केवल फाइल के अंदर ही एक्सेस किया जा सकता है। (Static in C)
स्थिर कार्य इस तरह दिखेगा:
static void func()
{
printf("Hello javaTpoint");
}
Differences b/w static and global variable -अंतर b/w स्थिर और वैश्विक चर
वैश्विक चर वे चर हैं जो फ़ंक्शन के बाहर घोषित किए जाते हैं। ये वैश्विक चर कार्यक्रम की शुरुआत में मौजूद हैं
, और इसका दायरा कार्यक्रम के अंत तक बना रहता है। इसे प्रोग्राम के बाहर भी एक्सेस किया जा सकता है।
स्थैतिक चर उस स्रोत फ़ाइल तक सीमित होते हैं जिसमें उन्हें परिभाषित किया जाता है, अर्थात, वे अन्य स्रोत फ़ाइलों द्वारा पहुँच योग्य नहीं होते हैं।
स्थैतिक और वैश्विक चर दोनों में स्थिर आरंभीकरण होता है। यहां, स्टैटिक इनिशियलाइज़ेशन का मतलब है कि अगर हम वेरिएबल को कोई वैल्यू असाइन नहीं करते हैं तो डिफ़ॉल्ट रूप से, वेरिएबल को 0 वैल्यू असाइन की जाएगी।
Differences b/w static local and static global variable -अंतर b/w स्थिर स्थानीय और स्थिर वैश्विक चर
Static global variable -स्थिर वैश्विक चर
यदि फ़ंक्शन के बाहर एक स्थिर कीवर्ड के साथ घोषित चर, तो इसे एक स्थिर वैश्विक चर के रूप में जाना जाता है। यह पूरे कार्यक्रम में उपलब्ध है।
Static local variable -स्थिर स्थानीय चर
किसी फ़ंक्शन के अंदर एक स्थिर कीवर्ड वाला चर घोषित किया जाता है जिसे स्थिर स्थानीय चर के रूप में जाना जाता है। स्थैतिक स्थानीय चर का दायरा स्वचालित स्थानीय चर के समान होगा, लेकिन इसकी स्मृति पूरे कार्यक्रम के निष्पादन के दौरान उपलब्ध होगी। जब फ़ंक्शन एक फ़ंक्शन कॉल के दौरान स्थिर स्थानीय चर के मान को संशोधित करता है, तो यह अगले फ़ंक्शन कॉल के दौरान भी वही रहेगा।
Properties of a static variable -एक स्थिर चर के गुण
एक स्थिर चर के गुण निम्नलिखित हैं:
एक स्थिर चर की स्मृति एक स्थिर चर के भीतर आवंटित की जाती है।
इसकी मेमोरी पूरे प्रोग्राम में उपलब्ध है, लेकिन इसका दायरा स्वचालित स्थानीय चर के समान ही रहेगा।
value विभिन्न फ़ंक्शन कॉलों में बनी रहेगी।
यदि हम वेरिएबल को कोई मान निर्दिष्ट नहीं करते हैं, तो डिफ़ॉल्ट मान 0 होगा।
एक वैश्विक स्थिर चर को कार्यक्रम के बाहर पहुँचा नहीं जा सकता है, जबकि एक वैश्विक चर को अन्य स्रोत फ़ाइलों द्वारा पहुँचा जा सकता है। (Static in C)