একটি লোকাল স্ট্যাটিক ভেরিয়েবল হলো এমন একটি ভেরিয়েবল যার লাইফটাইম সেই ফাংশন কলের সাথে শেষ হয় না যেখানে এটি ঘোষণা করা হয়েছে। এটি পুরো প্রোগ্রামের লাইফটাইম পর্যন্ত প্রসারিত হয়। সকল ফাংশন কল একই কপি লোকাল স্ট্যাটিক ভেরিয়েবল শেয়ার করে।
এই ভেরিয়েবলগুলো একটি ফাংশন কতবার কল হয়েছে তা গণনা করতে ব্যবহৃত হয়। স্ট্যাটিক ভেরিয়েবলের ডিফল্ট ভ্যালু ০। در saat সাধারণ লোকাল স্কোপ নির্দেশ করে যে ব্লকের ভেতরে সংজ্ঞায়িত ভেরিয়েবলগুলো শুধু সেই ব্লকে দৃশ্যমান এবং ব্লকের বাইরে অদৃশ্য।
ব্লকের বাইরে থাকা গ্লোবাল ভেরিয়েবল প্রোগ্রামের শেষ পর্যন্ত দৃশ্যমান থাকে।
উদাহরণ
লোকাল ভেরিয়েবলের C প্রোগ্রাম:
#include<stdio.h> main ( ){ int a=40 ,b=30,sum; //local variables life is within the block printf ("sum=%d" ,a+b); }
আউটপুট
উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:
sum=70
উদাহরণ
গ্লোবাল ভেরিয়েবলের C প্রোগ্রাম:
int c= 30; /* global area */ main ( ){ int a = 10; //local area printf ("a=%d, c=%d", a,c); fun ( ); } fun ( ){ printf ("c=%d",c); }
আউটপুট
উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:
a =10, c = 30
উদাহরণ
লোকাল স্ট্যাটিক ভেরিয়েবলের C প্রোগ্রাম:
#include <stdio.h> void fun(){ static int x; //default value of static variable is 0 printf("%d ", a); a = a + 1; } int main(){ fun(); //local static variable whose lifetime doesn’t stop with a function call, where it is declared. fun(); return 0; }
আউটপুট
উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:
0 1