Storage classes in c programming with examples| सी प्रोग्रामिंग में स्टोरेज क्लासेस

Storage classes in c programming with examples| सी प्रोग्रामिंग में स्टोरेज क्लासेस
Storage classes in c programming with examples| सी प्रोग्रामिंग में स्टोरेज क्लासेस

    Storage Classes in C in Hindi

    C में storage classes का उपयोग lifetime, visibility, memory location और एक variable के प्रारंभिक मूल्य को निर्धारित करने के लिए किया जाता है। C में चार तरह के स्टोरेज क्लास हैं

    1. Auto (Automatic)

    2. Register

    3. Static

    4. Extern

    1. Automatic Storage Class

    Auto: वह वेरिएबल जिन्हे हम Function (Block ) के अंदर Declare करते हैं। वे Local Variable कहते हैं।

    यह Default होता है अर्थात आपको Auto Variable बनाने के लिए Auto Keyword लिखने की आवश्यकता नहीं है।

    Syntax

    Data_Type Variable_Name;

    \\ Or

    Auto Data_Type Variable_Name;


    Automatic storage classes in c

    #include <stdio.h>

    int main(){

    auto int a;

    auto int b = 10;

    printf("Value of a : %d\n", a);

    printf("Value of b : %d", b);

    return 0;

    }

    *****OUTPUT*****

    Value of a : 8 // garbage value

    Value of b : 10


    2. Register Storage Class

    Register: जिन वेरिएबल को रजिस्टर स्टोरीज क्लास में डिफाइन किया जाता है उन्हें RAM के बजाय रजिस्टर (जो की सामान्य रूप से एक करैक्टर के बराबर होती है) में स्टोर किया जाता है इसका मतलब कि किसी वेरिएबल की स्टोरेज साइज उतनी ही होगी जितनी रजिस्टर की मैक्स वैल्यू होती इसमें & ओपेरटर को स्टोर नहीं कर सकते रजिस्टर स्टोरेज क्लास उन्ही वेरिएबल उन्ही को डिफाइन किया जाता है जिनकी वैल्यू बार बार करना पड़ता है

    जैसे Counter.

    Example

    Register int age;

    यहां पर ध्यान देने की बात यह है जब किसी वेरिएबल को रजिस्टर डिफाइन किया जाता हैं तो इसका अर्थ यह नहीं है कि उस वेरिएबल को रजिस्टर में ही स्टोर किया जायेगा या नहीं यह उस कंप्यूटर के हार्डवेयर और उसके ऑपरेटिंग सिस्टम पर निर्भर करता है


    Register storage class in c example

    #include <stdio.h>

    int main(){

    register int num = 10 ;

        printf("Value of num : %d\n",num);

     // printf("Value of num : %d\n",&num);

    return 0;

    }

    *****OUTPUT*****

    Value of b : 10


    3. Static Storage Class

    Static: Static Class कंपाइलर को निर्देश देता है कि इस वेरिएबल को पूरे प्रोग्राम टाइम में एक्टिव रखें ना कि जैसे वेरिएबल की जब भी कॉल हो (Comes into Scope) उसको Create और Initialize करें और कॉल खत्म (Goes Out Of Scope) होते ही Destroy करें इसे अगर सीधे शब्दों में कहें तो Local Variable और Static Variable में इतना अंतर होता है कि Local Variable को जितनी बार कॉल किया जाता है उन्हें हर बार Create किया जाता है जबकि Static Variable अपना Status को Save रखते हैं और अगली बार वहीं से शुरू करते हैं वास्तव में जब हम Local Variable इस्तेमाल करते हैं तो मेमोरी Allot करते समय उस वेरिएबल की मेमोरी भी उस फंक्शन के साथ ही Allot होती है परंतु जब हम Static Variable डिफाइन करते हैं तो उस Static Class वेरिएबल की वैल्यू एक शेयर्ड प्लेस पर डिफाइन होती है। जिसको सभी फंक्शन एक्सेस कर सकते हैं।

    Static storage class in c example

    #include <stdio.h>

    func(){

    int num = 1;

    printf("%d",num);

    num++;

    }

    int main()

    {

    int i;

    for(i=0; i<5; i++){

    printf("\n");

    func();

    }

    return 0;

    }

    *****OUTPUT*****

    1

    1

    1

    1

    1



    C Language Static Keyword Storage Class

    #include <stdio.h>

    func(){

    static int num = 1;

    printf("%d",num);

    num++;

    }

    int main()

    {

    int i;

    for(i=0; i<10; i++){

    printf("\n");

    func();

    }

    return 0;

    }

    *****OUTPUT*****

    1

    2

    3

    4

    5


    4. Extern Storage Class

    Extern: Extern Keyword का इस्तेमाल करके हम एक Global वेरिएबल डिफाइन कर सकते हैं जिसको हम किसी दूसरी फाइल में भी इस्तेमाल कर सकते हैं। जब हम कोई Global वेरिएबल डिफाइन करते हैं तो वह उस समय न डिफाइन होकर अलग फाइल में डिफाइन होता है और उस फाइल में सिर्फ Reference ही Return होता है जिसे हम बाद में किसी दूसरी फाइल से भी एक्सेस कर सकते हैं।


    Extern storage class in c example

    #include <stdio.h>

    int num =  10 ;

    void func();   // function declaration

    int main(){

    extern int num ;

        printf("Value of num : %d\n",num);

    func();   // function calling

    return 0;

    }

    void func(){     // function definition

    extern int num ;

    printf("Value of num : %d",num);

    }

    *****OUTPUT*****

    Value of num : 10

    Value of num : 10


    Read Also: यह भी पढ़ें


    Post a Comment

    0 Comments