परिचय
यदि तपाईं C भाषा प्रयोग गर्नुहुन्छ भने, टाढा नजाने 「static
」 कुञ्जीशब्द हो। यो सानो कुञ्जीशब्दले चलको जीवनचक्र र कार्यको पहुँच दायरा मा ठूलो प्रभाव पार्छ। जस्तै पर्दा पछाडिको शासक जस्तै, कोडको नदेखिने भागमा दृढतापूर्वक काम गर्छ। यस लेखमा, static
को प्रभावकारी प्रयोगलाई गहिरो रूपमा अन्वेषण गरी, व्यावहारिक सर्वोत्तम अभ्यासहरू प्रस्तुत गर्नेछौं। बुझाइलाई गहिरो बनाउन, हाँस्य पनि मिश्रण गर्दै अघि बढौं!
१, C भाषा मा static के हो?
static
C भाषा को भेरिएबलहरू र फङ्क्सनहरूमा प्रयोग गरिन्छ, भेरिएबलको 「जीवनचक्र」 लाई विस्तार गर्छ, र फङ्क्सन तथा भेरिएबलको 「स्कोप」 लाई सीमित गर्छ। सामान्य भेरिएबलहरू फङ्क्सन समाप्त हुँदा हराउँछन्, तर static
प्रयोग गर्दा, त्यसको मान प्रोग्राम समाप्ति सम्म कायम रहन्छ। अर्थात, static
सँग 「एक पटक निर्धारण गरेपछि सधैं प्रयोग गरिन्छ!」 भन्ने जिद्दी गुण हुन्छ।
static
प्रयोग गरेर, एउटै फाइलभित्र मात्र प्रयोग हुने 「सीमित」 भेरिएबलहरू र फङ्क्सनहरू बनाइँन सक्छ, जसले मोड्युलर प्रोग्राममा नाम टकरावलाई रोक्छ।

2, स्थिर भेरिएबलहरू | स्थानीय र ग्लोबल
2.1 स्थानीय static भेरिएबल
स्थानीय भेरिएबलमा static
थप्दा, प्रत्येक पटक फलन बोलाइँदा पुनः आरम्भ हुँदैन, एक पटक आरम्भ गरिएको मान निरन्तर कायम रहन्छ. यो गुणधर्मले, उदाहरणका लागि काउन्टर जस्ता अवस्थालाई फलनभित्र व्यवस्थापन गर्न अत्यन्त उपयोगी हुन्छ.
void count() {
static int counter = 0;
counter++;
printf("Counter: %dn", counter);
}
int main() {
count(); // आउटपुट: Counter: 1
count(); // आउटपुट: Counter: 2
return 0;
}
2.2 ग्लोबल static भेरिएबल
ग्लोबलstatic
भेरिएबलहरू, घोषणा गरिएको फाइलभित्र मात्र पहुँचयोग्य हुने कारणले, अन्य फाइलहरूबाट अनजानेमा प्रयोग हुनेबाट रोक्छ. ठूलो परियोजनाहरूमा नामको टकराव टाल्नका लागि प्राय प्रयोग गरिन्छ, र मोड्युल अनुसार भेरिएबलहरूलाई उचित रूपमा व्यवस्थापन गर्न मद्दत गर्दछ.
// file1.c
static int globalVar = 100;
void printGlobalVar() {
printf("GlobalVar: %dn", globalVar);
}

3, static function | स्कोपको सीमा
static
function प्रयोग गर्दा, त्यो function को स्कोपलाई फाइलभित्र सीमित गर्न सकिन्छ। यो बाहिरबाट पहुँच नदिन चाहिने सहायक function हरूको लागि उपयुक्त छ। प्रत्येक फाइलमा function को सार्वजनिक दायरा व्यवस्थापन गर्न सकिने कारण, अन्य मोड्युलहरूलाई असर नपर्ने सुरक्षित डिजाइन सम्भव हुन्छ।
// file1.c
static void helperFunction() {
printf("This is a helper functionn");
}
void publicFunction() {
helperFunction();
printf("This is a public functionn");
}
४, static प्रयोग गर्दा ध्यान दिनुपर्ने बुँदा
static
प्रयोग गर्दा सबैभन्दा ठूलो ध्यान दिनुपर्ने कुरा भेरिएबलको आरम्भिकरणमा हुन्छ।static
भेरिएबल प्रोग्राम सुरु हुँदा एकपटक मात्र आरम्भिकरण हुन्छ, पुन: आरम्भिकरण हुँदैन। यस कारणले, प्रत्येक पटक फङ्क्शन कल गर्दा पुन: आरम्भिकरण गरिएमा, static
को फाइदा हराइन्छ।
void resetStaticVar() {
static int num = 5;
num = 10; // प्रत्येक पटक रिसेट गरिने कारण static को अर्थ कमजोर हुन्छ
}
5, static प्रयोग गर्ने सर्वश्रेष्ठ अभ्यास
static
लाई प्रभावकारी रूपमा प्रयोग गर्नका लागि, तलका बुँदाहरूलाई समेट्नु महत्त्वपूर्ण छ:
- स्थानीय चलमा
static
लाई जोडेर, कार्यसम्पादन कलहरू बीचको स्थितिको संरक्षणलाई कार्यान्वयन गर्नुहोस्। - अर्का फाइलहरूबाट पहुँच नदिन चाहिने सहायक कार्यहरूमा अनिवार्य रूपमा
static
लाई जोड्नुहोस्। - मोड्युलहरू बीच नाम टकराव नहोस् भनेर, ग्लोबल चलमा
static
लाई प्रयोग गरेर स्कोपलाई सीमित गर्नुहोस्।

6, static चलको प्रदर्शनमा प्रभाव
static
चलले, कार्यक्रमको सम्पूर्ण कार्यान्वयनको दौरान मेमोरीलाई निरन्तर कब्जा गरिरहन्छ। मेमोरीको दक्षता विचार गर्दा, अत्यधिक प्रयोग गर्दा मेमोरी खपत बढ्ने सम्भावना हुन्छ, त्यसैले सावधान रहनु आवश्यक छ। तर, बारम्बार मेमोरीको आवंटन र मुक्ती टाल्न सकिने कारण, प्रक्रिया गति सुधार हुने अवस्थामा पनि हुन्छ।
सारांश
C भाषा माstatic
प्रोग्राम डिजाइनमा अत्यन्त शक्तिशाली उपकरण हो। भेरिएबलको जीवनचक्र र फङ्क्शनको स्कोपलाई व्यवस्थापन गरेर, अझ बलियो र मर्मतयोग्य कोड बनाउन सकिन्छ। तर, प्रयोग गर्ने तरिका गलत भएमा अनपेक्षित बग वा मेमोरीको बर्बादीको कारण बन्न सक्छ, त्यसैले सही ज्ञान र सर्वोत्तम अभ्यासमा आधारित भएर प्रयोग गरौं।