একটি Variable এর data প্রোগ্রাম এর কোথায় এবং কতটুকু জায়গার মধ্যে ব্যবহার করা হবে বা কোন অংশে তাদের ক্ষমতা থাকবে তাই হচ্ছে Scope। Scope এর বাংলা হচ্ছে সুযোগ। আমরা প্রোগ্রামে যে সকল Variable বা চলক গুলো ব্যবহার করি তা প্রোগ্রামের একটি নির্দিষ্ট অঞ্ছলেই ব্যবহার করা যায়। অন্য জায়গায় তারা নিষ্কিয় থাকে।
যেমন একটি Variable বা চলক তারা  declare বা ঘোষনা করার আগে ব্যবহার করা যায় না। আবার প্রোগ্রামের একটি ফাংশান বা ব্লকে তা ডিক্লেয়ার করলে তা অন্য ব্লকে ব্যবহার করা যায় না। সুতরাং বলা যায় যে Scope শুরু হয় যখন কোন Variable যদি declare করা হয় তখন।
তবে Variable কে শুধু  main()  কিংবা অন্যান্য function  এর মধ্যেই নয় , function এর বাইরেও Variable ডিক্লেয়ার করা যায় ।
Declare এর উপর ভিত্তি করে Variable কে দুই ভাগে ভাগ করা যায় যেমন :
Declare এর উপর ভিত্তি করে Variable কে দুই ভাগে ভাগ করা যায় যেমন :
- Locical Variable
 - Global Variable
 
Locical Variable
যখন কোন Variable কোন  function এর মধ্যে বা কোন block statement  এর মধ্যে করা ডিক্লেয়ার হয় তখন সেই Variable কে  ঐ function বা ব্লক  এর local  Variable বলে। এই Variable এর মান বা অস্তিত্ব
তথা কার্যপরিধি শুধু সংশ্লিষট function  সীমাবদ্ধ থাকে । অন্য function এ  এদের ব্যবহার করা যায় না ।
#include
int main()
{
    int x=12;
    printf("Block x: %d \n",x);
    return 0;
}
 
Global  Variable 
সি তে Variable কে শুধু localy ই নয়, globally  ও ডিক্লেয়ার করা যায়  । এই ধরনের Variable কোন  function কিংবা block statement এর মধ্যে নয় বরং শুরুতেও ডিক্লেয়ার করা যায় এবং প্রোগ্রামে ব্যবহৃত সব function  ব্যবহার করা যাবে।
তবে মনে রাখতে হবে ,আমরা যদি Global  Variable এর মান কোন কিছু না দিয়ে রাখি  ভাবে কোন Global  Variable এর data হিসেবে compiler প্রাথমিক ভাবে 0 নিধারন করে রাখে । 
#include
int x=4;  //Gobal Variable.
int main()
{
    {
        int x=12; //Block variable
        printf("Block x: %d \n",x);
    }
    printf("Global x: %d \n",x);
    return 0 ;
}
 এখানে প্রথমে Main function বা প্রধান ফাংশানের আগে x=4; ধরা হয়েছে। যা হচ্ছে গ্লোবাল বা সার্বোজনীন Variable। এটা যেকোন যায়গায় ব্যবহার করা যাবে।
তারপর Main function বা প্রধান ফাংশানের মধ্যে  ব্লকের মধ্যে আরেকটি x Variable ব্যবহার করা হয়েছে। যা শুধু মাত্র ঐ কোড ব্লকেই কাজ করবে। ঐ কোড ব্লকের পর আর কাজ করবে না।
বুঝার সুবিধার জন্য এখানে একটি মাত্র Variable (X) ব্যবহার করা হয়েছে। সব যায়গায়ই Variable হিসেবে x নেওয়া হয়েছে শুধু মাত্র এর মান ভিন্ন ধরা হয়েছে।
Global x এর মান ধরা হয়েছে 4, Block এর ভিতরের x এর মান ধরা হয়েছে 12। প্রোগাম  টি রান করালে দেখা যায় যে একটি মাত্র চলক ব্যবহার করা সত্যেও বিভিন্ন যাগায় বিভিন্ন মান প্রিন্ট করে।
No comments:
Post a Comment