কম্পিউটার

C ভাষায় চলকের লাইফটাইম ব্যাখ্যা কর।


স্টোরেজ ক্লাস স্কোপ, জীবনকাল এবং ভেরিয়েবলের বাঁধাই নির্দিষ্ট করে।

একটি ভেরিয়েবলকে সম্পূর্ণরূপে সংজ্ঞায়িত করার জন্য, একজনকে শুধুমাত্র এর 'টাইপ' নয় বরং এর স্টোরেজ ক্লাসও উল্লেখ করতে হবে।

একটি পরিবর্তনশীল নাম কম্পিউটার মেমরির মধ্যে কিছু শারীরিক অবস্থান চিহ্নিত করে, যেখানে ভেরিয়েবলের মান সংরক্ষণের জন্য বিটগুলির একটি সংগ্রহ বরাদ্দ করা হয়৷

স্টোরেজ ক্লাস আমাদের নিম্নলিখিত বিষয়গুলিকে বলে

  • ভেরিয়েবলটি কোথায় সংরক্ষণ করা হয় (মেমরি বা সিপিইউ রেজিস্টারে)?
  • কিছুই আরম্ভ না হলে ভেরিয়েবলের প্রাথমিক মান কী হবে?
  • ভেরিয়েবলের সুযোগ কী (যেখানে এটি অ্যাক্সেস করা যেতে পারে)?
  • একটি পরিবর্তনশীলের জীবন কী?

জীবনকাল

একটি ভেরিয়েবলের জীবনকাল নির্ধারণ করে যে সময়কালের জন্য কম্পিউটার এটির জন্য মেমরি বরাদ্দ করে (মেমোরির বরাদ্দ এবং ডিললোকেশনের মধ্যে সময়কাল)।

C ভাষায়, একটি ভেরিয়েবলের স্বয়ংক্রিয়, স্থির বা গতিশীল জীবনকাল থাকতে পারে।

  • স্বয়ংক্রিয় - স্বয়ংক্রিয় জীবনকাল সহ একটি পরিবর্তনশীল তৈরি করা হয়। প্রতিবার, তাদের ঘোষণা সম্মুখীন এবং ধ্বংস করা হয়. এছাড়াও, তাদের ব্লকগুলি প্রস্থান করা হয়েছে৷
  • স্ট্যাটিক − একটি ভেরিয়েবল তৈরি করা হয় যখন ঘোষণাটি প্রথমবার কার্যকর করা হয়। এটি ধ্বংস হয়ে যায় যখন মৃত্যুদন্ড বন্ধ হয়ে যায়/বাতি হয়।
  • ডাইনামিক − ভেরিয়েবল মেমরি বরাদ্দ করা হয় এবং মেমরি ম্যানেজমেন্ট ফাংশনের মাধ্যমে ডিললোকেট করা হয়।

স্টোরেজ ক্লাস

C ভাষায় চারটি স্টোরেজ ক্লাস আছে −

স্টোরেজ ক্লাস স্টোরেজ এরিয়া ডিফল্ট প্রাথমিক মান জীবনকাল স্কোপ কীওয়ার্ড
স্বয়ংক্রিয় মেমরি যতক্ষণ পর্যন্ত নিয়ন্ত্রণ অবরুদ্ধ থাকে যতক্ষণ পর্যন্ত নিয়ন্ত্রণ অবরুদ্ধ থাকে স্থানীয় স্বয়ংক্রিয়
নিবন্ধন করুন CPU রেজিস্টার আবর্জনার মান যতক্ষণ পর্যন্ত নিয়ন্ত্রণ অবরুদ্ধ থাকে স্থানীয় নিবন্ধন করুন
স্ট্যাটিক মেমরি শূন্য ফাংশন কলের মধ্যে মান স্থানীয় স্ট্যাটিক
বাহ্যিক মেমরি আবর্জনার মান প্রোগ্রাম এক্সিকিউশন জুড়ে গ্লোবাল বহিরাগত

উদাহরণ

স্বয়ংক্রিয় স্টোরেজ ক্লাস -

-এর জন্য সি প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
main ( ){
   auto int i=1;{
      auto int i=2;{
         auto int i=3;
         printf ("%d",i)
      }
      printf("%d", i);
   }
   printf("%d", i);
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত আউটপুট তৈরি করে −

3 2 1

উদাহরণ

বাহ্যিক স্টোরেজ ক্লাস -

এর জন্য সি প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
extern int i =1; /* this ‘i’ is available throughout program */
main ( ){
   int i = 3; /* this ‘i' available only in main */
   printf ("%d", i);
   fun ( );
}
fun ( ) {
   printf ("%d", i);
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত আউটপুট তৈরি করে −

3 1

  1. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা কর

  2. C ভাষায় else-যদি মই স্টেটমেন্ট ব্যাখ্যা কর

  3. Nested if-else স্টেটমেন্ট C ভাষায় ব্যাখ্যা কর

  4. সি ভাষায় ‘সাধারণ যদি’ বিবৃতিটি ব্যাখ্যা কর