কম্পিউটার

C ভাষায় ইউনিয়নের নির্দেশক ব্যাখ্যা কর


একটি ইউনিয়ন হল একটি মেমরি অবস্থান যা বিভিন্ন ডেটা প্রকারের বিভিন্ন ভেরিয়েবল দ্বারা ভাগ করা হয়।

সিনট্যাক্স

C প্রোগ্রামিং-এ ইউনিয়নের জন্য নির্দেশকের সিনট্যাক্স নিম্নরূপ -

union uniontag{
   datatype member 1;
   datatype member 2;
   ----
   ----
   datatype member n;
};

উদাহরণ

নিম্নলিখিত উদাহরণটি কাঠামোর মিলনের ব্যবহার দেখায়।

union sample{
   int a;
   float b;
   char c;
};

ইউনিয়ন পরিবর্তনশীলের ঘোষণা

নিম্নলিখিত ইউনিয়ন পরিবর্তনশীল জন্য ঘোষণা. এটি নিম্নরূপ -

তিন প্রকার

টাইপ 1

union sample{
   int a;
   float b;
   char c;
}s;

টাইপ 2

union{
   int a;
   float b;
   char c;
}s;

টাইপ 3

union sample{
   int a;
   float b;
   char c;
};
union sample s;
  • যখন ইউনিয়ন ঘোষণা করা হয়, তখন কম্পাইলার স্বয়ংক্রিয়ভাবে ইউনিয়নে ভেরিয়েবল ধরে রাখতে সবচেয়ে বড় আকারের ভেরিয়েবল টাইপ তৈরি করে।

  • যে কোন সময় শুধুমাত্র একটি ভেরিয়েবল উল্লেখ করা যেতে পারে।

  • কাঠামোর একই সিনট্যাক্স একটি ইউনিয়ন সদস্য অ্যাক্সেস করতে ব্যবহার করা হয়।

  • ডট অপারেটর সদস্যদের অ্যাক্সেস করার জন্য।

  • তীর অপারেটর ( ->) পয়েন্টার ব্যবহার করে সদস্যদের অ্যাক্সেস করার জন্য ব্যবহার করা হয়।

আমাদের ইউনিয়নের জন্য পয়েন্টার রয়েছে এবং আমরা কাঠামোর মতো তীর অপারেটর (->) ব্যবহার করে সদস্যদের অ্যাক্সেস করতে পারি।

উদাহরণ

নিম্নলিখিত প্রোগ্রামটি সি প্রোগ্রামিং -

-এ ইউনিয়নের জন্য পয়েন্টারগুলির ব্যবহার দেখায়
#include <stdio.h>
union pointer {
   int num;
   char a;
};
int main(){
   union pointer p1;
   p1.num = 75;
   // p2 is a pointer to union p1
   union pointer* p2 = &p1;
   // Accessing union members using pointer
   printf("%d %c", p2->num, p2->a);
   return 0;
}

আউটপুট

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

75 K

উদাহরণ 2

বিভিন্ন ইনপুট সহ একই উদাহরণ বিবেচনা করুন।

#include <stdio.h>
union pointer {
   int num;
   char a;
};
int main(){
   union pointer p1;
   p1.num = 90;
   // p2 is a pointer to union p1
   union pointer* p2 = &p1;
   // Accessing union members using pointer
   printf("%d %c", p2->num, p2->a);
   return 0;
}

আউটপুট

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

90 Z

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

  2. সি প্রোগ্রামিং ভাষায় পয়েন্টারগুলির বিন্যাস ব্যাখ্যা কর

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

  4. সি ল্যাঙ্গুয়েজে পয়েন্টার এক্সেসিংয়ের ধারণাটি ব্যাখ্যা কর