C ভাষায় গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবল উভয়কেই ধ্রুবক মান দিয়ে আরম্ভ করতে হবে। কারণ এক্সিকিউশন শুরু হওয়ার আগে এই ভেরিয়েবলের মানগুলো অবশ্যই জানা থাকতে হবে। গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবলের জন্য ধ্রুবক মান প্রদান করা না হলে একটি ত্রুটি তৈরি হবে।
একটি প্রোগ্রাম যা গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবলের প্রারম্ভিকতা প্রদর্শন করে তা নিম্নরূপ দেওয়া হয়েছে৷
উদাহরণ
#include <stdio.h> int a = 5; static int b = 10; int main() { printf("The value of global variable a : %d", a); printf("\nThe value of global static variable b : %d", b); return 0; }
আউটপুট
উপরের প্রোগ্রামের আউটপুট নিম্নরূপ।
The value of global variable a : 5 The value of global static variable b : 10
এখন, আসুন আমরা উপরের প্রোগ্রামটি বুঝতে পারি।
গ্লোবাল ভেরিয়েবল a-এর মান 5 এবং স্ট্যাটিক ভেরিয়েবল b-এর মান 10। সুতরাং, এই প্রোগ্রামটি প্রয়োজনীয় হিসাবে কাজ করে।
যদি ধ্রুবকগুলি গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবল শুরু করার জন্য ব্যবহার না করা হয় তবে এটি একটি ত্রুটির দিকে পরিচালিত করবে। একটি প্রোগ্রাম যা এটি প্রদর্শন করে তা নিম্নরূপ।
#include <stdio.h> int func() { return 25; } int main() { static int a = func(); printf("%d ", a); }
উপরের প্রোগ্রামটি একটি ত্রুটির দিকে নিয়ে যায় "ইনিশিয়ালাইজার উপাদান ধ্রুবক নয়"। সুতরাং, গ্লোবাল এবং স্ট্যাটিক ভেরিয়েবল শুধুমাত্র ধ্রুবক দিয়ে শুরু করা উচিত।