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

C ভাষায় ইউনিয়নে পয়েন্টার ব্যাখ্যা


ইউনিয়ন হলো একটি মেমরি লোকেশন যা বিভিন্ন ডেটা টাইপের ভেরিয়েবলগুলো দ্বারা শেয়ার করা হয়।

সিনট্যাক্স

C প্রোগ্রামিং-এ ইউনিয়নে পয়েন্টারের সিনট্যাক্স নিচে দেওয়া হলো −

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

উদাহরণ

নিচের উদাহরণটি স্ট্রাকচারের ইউনিয়ন ব্যবহারের 모습을 보여준다।

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

ইউনিয়ন ভেরিয়েবল ঘোষণা

নিচে ইউনিয়ন ভেরিয়েবল ঘোষণার তিনটি পদ্ধতি দেওয়া হলো −

পদ্ধতি ১

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

পদ্ধতি ২

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

পদ্ধতি ৩

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

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

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

  • ডট অপারেটর (.) মেম্বার অ্যাক্সেসের জন্য ব্যবহৃত হয়।

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

আমরা ইউনিয়নে পয়েন্টার रखতে পারি এবং স্ট্রাকচারের মতোই অ্যারো অপারেটর (->) ব্যবহার করে মেম্বার অ্যাক্সেস করতে পারি।

উদাহরণ

নিচের প্রোগ্রামটি C প্রোগ্রামিং-এ ইউনিয়নে পয়েন্টারের ব্যবহার দেখায় −

#include  union pointer { int num; char a; }; int main(){ union pointer p1; p1.num = 75; // p2 হলো ইউনিয়ন p1-র পয়েন্টার union pointer* p2 = &p1; // পয়েন্টার ব্যবহার করে ইউনিয়ন মেম্বার অ্যাক্সেস printf("%d %c", p2->num, p2->a); return 0; }

আউটপুট

উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যায় −

75 K

উদাহরণ ২

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

#include  union pointer { int num; char a; }; int main(){ union pointer p1; p1.num = 90; // p2 হলো ইউনিয়ন p1-র পয়েন্টার union pointer* p2 = &p1; // পয়েন্টার ব্যবহার করে ইউনিয়ন মেম্বার অ্যাক্সেস printf("%d %c", p2->num, p2->a); return 0; }

আউটপুট

উপরোক্ত প্রোগ্রামটি এক্সিকিউট করলে নিচের ফলাফল পাওয়া যায় −

90 Z

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

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

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

  4. সি ভাষায় পয়েন্টার অ্যাক্সেসিং ধারণা ব্যাখ্যা