গ্লোবাল স্কোপ
গ্লোবাল স্কোপ নির্দিষ্ট করে যে ব্লকের বাইরে সংজ্ঞায়িত ভেরিয়েবলগুলি প্রোগ্রামের শেষ পর্যন্ত দৃশ্যমান।
উদাহরণ
#include<stdio.h> int c= 30; /* global area */ main (){ int a = 10; printf (“a=%d, c=%d” a,c); fun (); } fun (){ printf (“c=%d”,c); }
আউটপুট
a =10, c = 30 c = 30
স্থানীয় সুযোগ
স্থানীয় স্কোপ নির্দিষ্ট করে যে ব্লকের মধ্যে সংজ্ঞায়িত ভেরিয়েবলগুলি শুধুমাত্র সেই ব্লকে দৃশ্যমান এবং ব্লকের বাইরে অদৃশ্য৷
একটি ব্লক বা ফাংশনে (স্থানীয়) ঘোষিত ভেরিয়েবলগুলি সেই ব্লকের মধ্যে অ্যাক্সেসযোগ্য এবং এর বাইরে বিদ্যমান নেই৷
উদাহরণ
#include<stdio.h> main (){ int i = 1;// local scope printf ("%d",i); } { int j=2; //local scope printf("%d",j); } }
আউটপুট
1 2
এমনকি যদি ভেরিয়েবলগুলি তাদের নিজ নিজ ব্লকে এবং একই নামের সাথে পুনঃঘোষিত হয়, তবে সেগুলিকে আলাদাভাবে বিবেচনা করা হয়৷
উদাহরণ
#include<stdio.h> main (){ { int i = 1; //variable with same name printf ("%d",i); } { int i =2; // variable with same name printf ("%d",i); } }
আউটপুট
1 2
ব্লকের মধ্যে ভেরিয়েবলের পুনঃঘোষণা বাইরের ব্লকের মতো একই নাম বহন করে ভিতরের ব্লকগুলি চালানোর সময় বাইরের ব্লক ভেরিয়েবলগুলিকে মাস্ক করে৷
উদাহরণ
#include<stdio.h> main (){ int i = 1;{ int i = 2; printf (“%d”,i); } }
আউটপুট
2
অভ্যন্তরীণ ব্লকের বাইরে ঘোষিত ভেরিয়েবলগুলি নেস্টেড ব্লকগুলিতে অ্যাক্সেসযোগ্য, যদি এই ভেরিয়েবলগুলি ভিতরের ব্লকের মধ্যে ঘোষিত না হয়৷
উদাহরণ
#include<stdio.h> main (){ int i = 1;{ int j = 2; printf ("%d",j); printf ("%d",i); } }
আউটপুট
2 1