static কিওয়ার্ড ব্যবহার করলে ভেরিয়েবল বা ডেটা মেম্বার বা ফাংশন আবার মডিফাই করা যায় না। এটি প্রোগ্রামের লাইফটাইমের জন্য অ্যালোকেটেড। স্ট্যাটিক ফাংশন ক্লাস নাম ব্যবহার করে সরাসরি কল করা যায়।
স্ট্যাটিক ভেরিয়েবল শুধুমাত্র একবার ইনিশিয়ালাইজ হয়। কম্পাইলার ভেরিয়েবলকে প্রোগ্রামের শেষ পর্যন্ত বজায় রাখে। স্ট্যাটিক ভেরিয়েবল ফাংশনের ভিতরে বা বাইরে ডিফাইন করা যায়। সেগুলো ব্লকে লোকাল। স্ট্যাটিক ভেরিয়েবলের ডিফল্ট মান শূন্য। স্ট্যাটিক ভেরিয়েবলগুলো প্রোগ্রাম এক্সিকিউশন পর্যন্ত জীবিত থাকে।
সি ভাষায় স্ট্যাটিক ভেরিয়েবলের সিনট্যাক্স:
static datatype variable_name;
এখানে,
- datatype − int, char, float ইত্যাদি ডেটা টাইপ।
- variable_name − ইউজার দেওয়া ভেরিয়েবলের নাম।
- value − ভেরিয়েবল ইনিশিয়ালাইজ করার যেকোনো মান। ডিফল্টভাবে শূন্য।
সি ভাষায় স্ট্যাটিক ভেরিয়েবলের উদাহরণ:
উদাহরণ
#include <stdio.h>
int main() {
static int a;
int b;
printf("Default value of static variable : %d\n", a);
printf("Default value of non-static variable : %d\n", b);
return 0;
}
আউটপুট
Default value of static variable : 0 Default value of non-static variable : 0
উপরের প্রোগ্রামে দুটি ভেরিয়েবল ডিক্লেয়ার করা হয়েছে, একটি স্ট্যাটিক আরেকটি নন-স্ট্যাটিক। উভয় ভেরিয়েবলের ডিফল্ট মান নিচের মত করে ডিসপ্লে করা হয়েছে:
static int a; int b; printf("Default value of static variable : %d\n", a); printf("Default value of non-static variable : %d\n", b);