Header Ads

ad728
  • New Updates

    Extern Storage Class


    Extern Storage Class

    इस Class में वे Variables होते हैं , जिन्हें कोई भी अन्य Function Use कर सकता है | ये Global Variables होते हैं और इन्हें main() Function से बाहर Declare किया जात है | ये Variables main Function से पहले  लिखे जाते हैं , और इसमें प्रोग्राम के अंत तक मान Store रहता हैं |

    जब किसी प्रोग्राम में लगभग हर Function में किसी Variable का प्रयोग हो रहा हो , तो उस Variable को extern Keyword का प्रयोग करके Global Declare कर दिया जाता है , ताकि Memory Space बच सके और प्रोग्राम लम्बा व जटिल ना  हो जाए | जैसे extern int num =10 ; Global Variable की ये विशेषता होती है कि इसका प्रयोग कोई भी Block या Function कर सकता है और अपनी जरुरत के अनुसार इसका मान बदल सकता है |

    अभी तक हमने देखा कि main() Function User Defined  Function सभी एक ही Program File में लिख रहे हैं , लेकिन वास्तविक जीवन में जब हम बड़े – बड़े प्रोग्राम लिखते हैं , तब सारे के सारे program Codes एक ही Program File में ना लिख कर कोई Files में User Defined Function के रूप में लिख देते हैं और उन्हें Compile कर लेते हैं | फिर हम उस Function फाइल को main() Program File  में Link कर लेते हैं | जब हमें किसी function की जरुरत होती है , तब उस File से Required Function को Call कर लेते हैं |

    ये  एक महत्वपूर्ण तरीका है , क्योंकि इस तरीके में किसी एक File में हुए Changes का किसी अन्य file पर कोई फर्क नहीं पड़ता है | जब हम एक से अधिक Source Files का प्रयोग करते हैं ,तब कुछ Global Variables होते हैं , जिन्हें किसी भी अन्य User Defined Function में use करना होता है |

    किसी भी User Defined Function में किसी अन्य Source File में लिखे Global Variables को use करने की सुविधा हम extern keyword का प्रयोग करके प्राप्त कर सकते हैं | जब हम किसी Global Variable को किसी अन्य Source File में Use करना चाहते हैं , तब उस Global Variable को extern Keyword का प्रयोग करके लिखते हैं |

    Extern keyword “C” compiler को ये बताता है कि वह अमुक Global Variable किसी अन्य Source Code File में Declare किया गया है | extern Variable को ठीक से समझने के लिए एक Function बनायेंगे | सबसे पहले निचे लिखे mul Function को एक Source File में Save करते है और इस file का नाम extern.c देते हैं

    
    //function
    mul(int l)
    {
    	extern y;
    	int m;
    	m = l*y;
    	printf("\n Multiplication of B and Y is %d",m);
    }
    

    अब निम्न प्रोग्राम को एक अलग Source File में लिंक  कर उसे extern.c नाम से save करते हैं |

     

    Program

    
    #include<stdio.h>
    #include"extern.c"
    int x=6, y=8 , z=4;
    main()
    {
    	int b,c;
    	c=x+y;
    	printf("\n C is %d",c);
    	b=y-z;
    	printf("\n B is %d",b);
    	mul(b);
    }
    
    

    इस प्रोग्राम में हमने दो Source Files को Use किया है | mul Function को एक अन्य Source File extern.c में लिखा है | इस Function को main() Program में use करने के लिए main() Program में #include”extern.c” Statement से mul function की Program File को Link किया गया है |

    “C” में किसी Source File को दो तरीकों से main() Program File में Link किया जा सकता है | जब हमें जो file हमारी main() Program File में Use करनी है , वह यदि “C” की Standard Library में होती है , तो उसे < > चिन्ह में लिखते हैं |

    लेकिन जब हमारी Source File Current directory जिसमें हम Currently काम कर रहें हैं , उसमें हो , तब हम उस Function File को main() Program File से Link करने के लिए #include Keyword के साथ “  “ के अंदर लिखते हैं | जैसा कि इस प्रोग्राम में किया गया है | हम हमारे द्वारा बनाये गए Functions को एक अलग Directory में भी Store करके रख सकते हैं |

    जब हम हमारे Functions किसी अलग Directory में Store करके रखते हैं , तब हमें main() Program से उस Function File को Link करने के लिए उस File का पूरा path <  > या “  “ चिन्ह के बीच लिखना पड़ता है |

    माना हमने C: Drive में एक My – Functions नाम का Folder बनाया है , और हमारे द्वारा बनाये गए सारे Functions हम इसी folder में  रख रहे हैं , तो इस folder से किसी भी function को main() Program में link करने के लिए हमें निम्नानुसार Statement लिख कर हमारी जरुरत वाली File को main() Program में जोड़ना होगा |

    
    #include <c:\my_functions\File name>    or    #include “c:\my_function\File name”
                                        
    

     

    ध्यान रखें कि ये Code इसी प्रकार से लिखें जाते हैं | इनके बीच Space मान्य नहीं है | अब देखें कि mul Function में y को Declare नहीं किया गया है बल्कि extern y , लिखा गया ये Statement “C” Compiler को बताता है कि जो Variable y यहाँ  use हो रहा है वह Global Variable है और उसे किसी अन्य Source File में Declare किया गया है | जब इस file को main() Program File से Link किया जाता है , तब Program Control स्वयं ही y का मान main() Program File से प्राप्त कर लेता है और यहां पर Calculation कि जाती है |

     

    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728