স্কোপ রুলস নিম্নলিখিত ফ্যাক্টরগুলোর সাথে সম্পর্কিত:
- ভেরিয়েবলের অ্যাক্সেসিবিলিটি।
- একটি ভেরিয়েবলের অস্তিত্বের পরিধি।
- ভেরিয়েবল ব্যবহারের সীমা।
ফাংশন সংক্রান্ত স্কোপ রুলস নিম্নরূপ:
ফাংশন হল একটি স্বয়ংসম্পূর্ণ ব্লক যা একটি নির্দিষ্ট টাস্ক সম্পাদন করে।
ফাংশন বডির ভেতরে ডিক্লেয়ার করা ভেরিয়েবলগুলোকে লোকাল ভেরিয়েবল বলা হয়।
এই ভেরিয়েবলগুলো শুধু সেই নির্দিষ্ট ফাংশনের ভেতরে অস্তিত্ব রেখে যায় যা সেগুলো তৈরি করে। এরা অন্য ফাংশনগুলোকে এবং মেইন ফাংশনকেও অজানা।
লোকাল ভেরিয়েবলগুলোর অস্তিত্ব শেষ হয়ে যায় যখন ফাংশন তার নির্দিষ্ট টাস্ক সম্পন্ন করে এবং কলিং পয়েন্টে ফেরত আসে।
উদাহরণ ১
ফাংশন সংক্রান্ত স্কোপ রুলস এর জন্য C প্রোগ্রাম নিচে দেওয়া হল:
#includemain(){ int a = 10, b = 20; printf("সওয়্যাপ করার আগে a=%d, b=%d", a, b); swap(a, b); printf("সওয়্যাপ করার পর a=%d, b=%d", a, b); } swap(int a, int b){ int c; c = a; a = b; b = c; }
আউটপুট
আউটপুট নিচে দেওয়া হল:
সওয়্যাপ করার আগে a=10, b=20 সওয়্যাপ করার পর a=10, b=20
ফাংশন বডির বাইরে ডিক্লেয়ার করা ভেরিয়েবলগুলোকে গ্লোবাল ভেরিয়েবল বলা হয়।
এই ভেরিয়েবলগুলো যেকোনো ফাংশন দ্বারা অ্যাক্সেসযোগ্য।
উদাহরণ ২
ফাংশন সংক্রান্ত স্কোপ রুলস এর জন্য আরেকটি C প্রোগ্রাম নিচে দেওয়া হল:
#includeint a = 10, b = 20; main(){ printf("সওয়্যাপ করার আগে a=%d, b=%d", a, b); swap(); printf("সওয়্যাপ করার পর a=%d, b=%d", a, b); } swap(){ int c; c = a; a = b; b = c; }
আউটপুট
আউটপুট নিচে দেওয়া হল:
সওয়্যাপ করার আগে a=10, b=20 সওয়্যাপ করার পর a=20, b=10