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