একটি স্থানীয় স্ট্যাটিক ভেরিয়েবল হল একটি পরিবর্তনশীল, যার লাইফটাইম একটি ফাংশন কলের সাথে থামে না যেখানে এটি ঘোষণা করা হয়। এটি একটি সম্পূর্ণ প্রোগ্রামের জীবনকাল পর্যন্ত প্রসারিত হয়। সমস্ত ফাংশন কল স্থানীয় স্ট্যাটিক ভেরিয়েবলের একই অনুলিপি ভাগ করে।
এই ভেরিয়েবলগুলি একটি ফাংশন কল করার সংখ্যা গণনা করতে ব্যবহৃত হয়। স্ট্যাটিক ভেরিয়েবলের ডিফল্ট মান হল 0৷ যেখানে, স্বাভাবিক স্থানীয় স্কোপ নির্দিষ্ট করে যে ব্লকের মধ্যে সংজ্ঞায়িত ভেরিয়েবলগুলি শুধুমাত্র সেই ব্লকে দৃশ্যমান এবং ব্লকের বাইরে অদৃশ্য৷
ব্লকের বাইরে থাকা গ্লোবাল ভেরিয়েবলগুলি প্রোগ্রামের শেষ পর্যন্ত দৃশ্যমান।
উদাহরণ
স্থানীয় পরিবর্তনশীল −
-এর জন্য 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