কম্পিউটার

কেন গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবল তাদের ডিফল্ট মান C/C++ এ আরম্ভ করা হয়?


গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবলগুলি তাদের ডিফল্ট মানগুলিতে শুরু করা হয় কারণ এটি C বা C++ স্ট্যান্ডার্ডে রয়েছে এবং এটি কম্পাইলের সময় শূন্য দ্বারা একটি মান নির্ধারণ করা বিনামূল্যে। স্ট্যাটিক এবং গ্লোবাল ভেরিয়েবল উভয়ই জেনারেট করা অবজেক্ট কোডের সাথে একই আচরণ করে। এই ভেরিয়েবলগুলিকে .bss ফাইলে বরাদ্দ করা হয় এবং এটি লোড করার সময় ভেরিয়েবলগুলিতে ধ্রুবকগুলি বরাদ্দ করে মেমরি বরাদ্দ করে৷

নিম্নোক্ত গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবলের একটি উদাহরণ।

উদাহরণ

#include <stdio.h>
int a;
static int b;
int main() {
   int x;
   static int y;
   int z = 28;
   printf("The default value of global variable a : %d", a);
   printf("\nThe default value of global static variable b : %d", b);
   printf("\nThe default value of local variable x : %d", x);
   printf("\nThe default value of local static variable y : %d", y);
   printf("\nThe value of local variable z : %d", z);
   return 0;
}

আউটপুট

The default value of global variable a : 0
The default value of global static variable b : 0
The default value of local variable x : 0
The default value of local static variable y : 0
The value of local variable z : 28

উপরের প্রোগ্রামে, গ্লোবাল ভেরিয়েবলগুলি main() ফাংশনের বাইরে ঘোষণা করা হয় এবং তাদের মধ্যে একটি স্ট্যাটিক ভেরিয়েবল। তিনটি স্থানীয় ভেরিয়েবল ঘোষণা করা হয়েছে এবং ভেরিয়েবল zও শুরু করা হয়েছে।

int a;
static int b;
….
int x;
static int y;
int z = 28;

তাদের ডিফল্ট মান মুদ্রিত হয়।

printf("The default value of global variable a : %d", a);
printf("\nThe default value of global static variable b : %d", b);
printf("\nThe default value of local variable x : %d", x);
printf("\nThe default value of local static variable y : %d", y);
printf("\nThe value of local variable z : %d", z);

  1. C++ এ স্থানীয় ভেরিয়েবল এবং গ্লোবাল ভেরিয়েবল কি কি?

  2. C++ এ গ্লোবাল ভেরিয়েবল কি?

  3. কিভাবে C++ স্থানীয় এবং গ্লোবাল ভেরিয়েবল ডিফল্টরূপে আরম্ভ করা হয়?

  4. ইন্টারফেস ভেরিয়েবলগুলি জাভাতে ডিফল্টরূপে স্থির এবং চূড়ান্ত, কেন?