কম্পিউটার টিউটোরিয়াল

C ভাষায় ভেরিয়েবল বাইন্ডিং (Binding) ব্যাখ্যা


স্টোরেজ ক্লাস ভেরিয়েবলের স্কোপ, লাইফটাইম এবং বাইন্ডিং নির্দেশ করে।

একটি ভেরিয়েবল সম্পূর্ণরূপে ডিফাইন করতে, এর 'টাইপ' ছাড়াও এর স্টোরেজ ক্লাস উল্লেখ করতে হয়।

একটি ভেরিয়েবল নাম কম্পিউটার মেমরির একটি ফিজিক্যাল লোকেশন চিহ্নিত করে, যেখানে ভেরিয়েবলের ভ্যালু সংরক্ষণের জন্য বিটের একটি সংগ্রহ অ্যালোকেট করা হয়।

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

  • ভেরিয়েবল কোথায় স্টোর হবে (মেমরিতে নাকি CPU রেজিস্টারে)?
  • যদি কিছু ইনিশিয়ালাইজ না করা হয়, তবে ভেরিয়েবলের ইনিশিয়াল ভ্যালু কী হবে?
  • ভেরিয়েবলের স্কোপ কী (কোথায় এটি অ্যাক্সেস করা যাবে)?
  • ভেরিয়েবলের লাইফ কী?

বাইন্ডিং (Binding)

বাইন্ডিং একটি অ্যাপ্লাইড অকারেন্স (usage) এর জন্য সংশ্লিষ্ট বাইন্ডিং অকারেন্স (declaration/definition) খুঁজে বের করে।

  • ভেরিয়েবলের স্কোপ জানা দরকার।

ব্লক স্ট্রাকচার কী?

কোন ব্লকে আইডেন্টিফায়ার ভেরিয়েবল?

  • আমরা একই আইডেন্টিফায়ার নাম আবার ব্যবহার করলে কী হবে?

'C' একই স্কোপে একই আইডেন্টিফায়ার নাম ব্যবহার নিষেধ করে।

একই নাম ভিন্ন স্কোপে ব্যবহার করা যায়।

উদাহরণ

double f,y; int f( ) //error {    ---    ----    ---- } double y; //error

উদাহরণ

double y; int f( ){    double f;//legal    int y; //legal }

উদাহরণ

ভেরিয়েবল বাইন্ডিং এর C প্রোগ্রাম:

#include<stdio.h> int i=33; main() {    extern int i; {       int i=22; {          const volatile unsigned i=11;          printf("i=%d\n",i);       }       printf("i=%d",i);    } }

আউটপুট

উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের আউটপুটটি দেখায়:

i=11 i=22

  1. C প্রোগ্রামিং ভাষায় অ্যারে অফ পয়েন্টার্স ব্যাখ্যা

  2. C ভাষায় else-if ল্যাডার স্টেটমেন্ট ব্যাখ্যা

  3. স্ট্রাকচার কনসেপ্ট ব্যবহার করে সি ভাষায় বিট ফিল্ড ব্যাখ্যা

  4. সি ভাষায় ইউনিয়ন টু পয়েন্টার ব্যাখ্যা