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

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


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

সিনট্যাক্স

সিনট্যাক্স নিম্নরূপ −

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;

যখন ইউনিয়ন ডিক্লেয়ার করা হয়, কম্পাইলার স্বয়ংক্রিয়ভাবে একটি ভেরিয়েবল তৈরি করে যা ইউনиয়নে সবচেয়ে বড় ভেরিয়েবল টাইপ ধারণ করে।

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

ইনিশিয়ালাইজেশন ও অ্যাক্সেসিং

  • ইউনিয়ন মেম্বার অ্যাক্সেস করা স্ট্রাকচারের মতোই।
  • সাধারণত ডট অপারেটর ব্যবহার করা হয় মেম্বার অ্যাক্সেসের জন্য।
  • অ্যারো অপারেটর ( ->) মেম্বার অ্যাক্সেসের জন্য ব্যবহার করা হয়।
  • ইউনিয়ন-এ ডেটা টাইপ ব্যবহার করার কোনো বাধা নেই।

উদাহরণ

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

#include<stdio.h> union abc{    int a;    char b; }; int main(){    union abc var;    var.a=90;    union abc *p=&var;    printf("%d%c",p->a,p->b); }

আউটপুট

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

90Z

  1. C ভাষায় কনস্ট্যান্ট টাইপ কুয়ালিফায়ার (Constant Type Qualifier) ব্যাখ্যা

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

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

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