গ্লোবাল ভেরিয়েবল কি? | বিস্তারিত | C programming Bangla Tutorial

Global Variable কি?

গ্লোবাল ভেরিয়েবল : একটি প্রোগ্রামে মাঝে মাঝে আমাদের এমন ভেরিয়েবল দরকার, যেটা সব ফাংশনের ভেতরে পাওয়া যাবে এবং ফাংশন থেকে বের হয়ে গেলেও ওই ভেরিয়েবলের অস্তিত্ব থাকবে বেআং সেই ভেরিয়েবলকেই গ্লোবাল ভেরিয়েবল বলে ।
গ্লোবাল ভেরিয়েবল সাধারণত একটি প্রোগ্রামের একটি ফাংশন এর বাইরে সংজ্ঞায়িত করা হয়।

#include <stdio.h>

int a = 1;

void new_func()
{
    printf("a = %d, \n", a);
}

int main()
{
    int b = 5;

    new_func();

    printf("a = %d, b = %d\n", a, b);

    return 0;
}

Output :

a = 1,
a = 1, b = 5

এখানে a হলো গ্লোবাল ভ্যারিয়েবল । b হলো লোকাল ভ্যারিয়েবল ।

লোকাল ভেরিয়েবল কি? | বিস্তারিত | C programming Bangla Tutorial

আমরা যদি কোনো ফাংশনের ভেতরে একটি গ্লোবাল ভেরিয়েবলের মান অন্য কিছু অ্যাসাইন করি, তবে তা পরিবর্তন হয়ে যাবে এবং অন্য সব জায়গায় নতুন অ্যাসাইন করা মানটিই পাওয়া যাবে। নিচের প্রোগ্রামটি রান করে দেখুন :

#include <stdio.h>

int a = 1;

void new_func()
{
    a = 5;
}

int main()
{
    int b = 2;

    new_func();

    printf("a = %d, b = %d\n", a,b);

    return 0;
}

Output :

a = 5, b = 2

তবে new_func এর ভেতরে যদি a নামে আরেকটি int ভেরিয়েবল তৈরি করতাম, তাহলে কিন্তু গ্লোবাল a এর পরিবর্তন হত না। কারণ new_func এর ভেতর a নামে একটি int লোকাল ভেরিয়েবল তৈরি হয়েছে এবং প্রথমে যেহেতু কোনো ভেরিয়েবল লোকাল স্কোপে আছে কী না সেটা চেক করা হয়, তাই গ্লোবাল a এর কোনো পরিবর্তন হবেনা ।

#include <stdio.h>

int a = 1;

void new_func()
{
    int a;
    a = 5;
}

int main()
{
    int b = 2;

    new_func();

    printf("a = %d, b = %d\n", a, b);

    return 0;
}

Output :

a =1, b = 2

Leave a Reply

Your email address will not be published. Required fields are marked *