स्थानीय दायरा
स्थानीय दायरा निर्दिष्ट करता है कि ब्लॉक के भीतर परिभाषित चर केवल उस ब्लॉक में दिखाई दे रहे हैं और ब्लॉक के बाहर अदृश्य हैं।
वैश्विक दायरा
वैश्विक दायरा निर्दिष्ट करता है कि ब्लॉक के बाहर परिभाषित चर कार्यक्रम के अंत तक दिखाई दे रहे हैं।
उदाहरण
#include<stdio.h> int r= 50; /* global area */ main (){ int p = 30; printf (“p=%d, r=%d” p,r); fun (); } fun (){ printf (“r=%d”,r); }
आउटपुट
p =30, r = 50 r = 50
कार्यों से संबंधित कार्यक्षेत्र नियम
-
फ़ंक्शन कथनों का एक ब्लॉक है जो किसी विशेष कार्य को करता है।
-
वेरिएबल जो किसी फंक्शन की बॉडी के भीतर घोषित किए जाते हैं, लोकल वेरिएबल कहलाते हैं
-
ये चर केवल उस विशिष्ट फ़ंक्शन के अंदर मौजूद होते हैं जो उन्हें बनाता है। वे अन्य कार्यों और मुख्य कार्यों के लिए भी अज्ञात हैं
-
स्थानीय चर का अस्तित्व समाप्त हो जाता है जब फ़ंक्शन अपना विशिष्ट कार्य पूरा करता है और कॉलिंग पॉइंट पर वापस आ जाता है।
उदाहरण
#include<stdio.h> main (){ int a=10, b = 20; printf ("before swapping a=%d, b=%d", a,b); swap (a,b); printf ("after swapping a=%d, b=%d", a,b); } swap (int a, int b){ int c; c=a; a=b; b=c; }
आउटपुट
Before swapping a=10, b=20 After swapping a = 10, b=20
किसी फ़ंक्शन के शरीर के बाहर घोषित चर को वैश्विक चर कहा जाता है। ये वेरिएबल किसी भी फ़ंक्शन द्वारा एक्सेस किए जा सकते हैं।
उदाहरण
#include<stdio.h> int a=10, b = 20; main(){ printf ("before swapping a=%d, b=%d", a,b); swap (); printf ("after swapping a=%d, b=%d", a,b); } swap (){ int c; c=a; a=b; b=c; }
आउटपुट
Before swapping a = 10, b =20 After swapping a = 20, b = 10