স্কোপ রুলস নিচের ফ্যাক্টরগুলোর সাথে সম্পর্কিত −
- একটি ভেরিয়েবলের অ্যাক্সেসিবিলিটি।
- একটি ভেরিয়েবলের অস্তিত্বের কাল।
- ভেরিয়েবল ব্যবহারের সীমাবদ্ধতা।
স্টেটমেন্ট ব্লক সংক্রান্ত স্কোপ রুলস নিচে দেওয়া হলো −
ব্লক কার্লি ব্রেসস ({}) দ্বারা এনক্লোজড থাকে যেটিতে স্টেটমেন্টের সেট থাকে।
একটি ব্লকে ঘোষণা করা ভেরিয়েবলগুলো সে ব্লকের ভিতরে অ্যাক্সেসযোগ্য ও ব্যবহারযোগ্য, কিন্তু সেটি ব্লকের বাইরে অস্তিত্বে থাকে না।
উদাহরণ ১
স্টেটমেন্ট ব্লক সংক্রান্ত স্কোপ রুলস এর জন্য C প্রোগ্রাম নিচে দেওয়া হলো −
#includemain ( ){ { int i = 1; printf("%d", i); } { int j = 2; printf("%d", j); } }
আউটপুট
আউটপুট নিচে দেওয়া হলো −
1 2
ভেরিয়েবলগুলো তাদের নিজস্ব ব্লকে পুনরায় ঘোষণা করা হলেও একই নাম দিয়ে, তারা আলাদা ভাবে বিবেচিত হয়।
উদাহরণ ২
স্টেটমেন্ট ব্লক সংক্রান্ত স্কোপ রুলস এর জন্য আরেকটি C প্রোগ্রাম −
#includemain ( ){ { int i = 1; printf("%d", i); } { int i = 2; printf("%d", i); } }
আউটপুট
আউটপুট নিচে দেওয়া হলো −
1 2
ব্লকের ভিতরে আউটার ব্লকের মতো একই নামে ভেরিয়েবল পুনরায় ঘোষণা করলে, ইনার ব্লক এক্সিকিউশনের সময় আউটার ব্লকের ভেরিয়েবলগুলো মাস্কড থাকে।
উদাহরণ ৩
স্টেটমেন্ট ব্লক সংক্রান্ত স্কোপ রুলস এর জন্য আরেকটি C প্রোগ্রাম −
#includemain ( ){ int i = 1; { int i = 2; printf("%d", i); } }
আউটপুট
আউটপুট নিচে দেওয়া হলো −
2
ইনার ব্লকের বাইরে ঘোষণা করা ভেরিয়েবলগুলো নেস্টেড ব্লকে অ্যাক্সেসযোগ্য, যতক্ষণ না সেগুলো ইনার ব্লকে ঘোষণা করা হয়।
উদাহরণ ৪
স্টেটমেন্ট ব্লক সংক্রান্ত স্কোপ রুলস এর জন্য আরেকটি প্রোগ্রাম বিবেচনা করুন −
#includemain ( ){ int i = 1; { int j = 2; printf("%d", j); printf("%d", i); } }
আউটপুট
আউটপুট নিচে দেওয়া হলো −
2 1