ইউনিয়নের কনসেপ্ট এবং পার্থক্য

স্ট্রাকচার এবং ইউনিয়ন (Structures and Unions) - কম্পিউটার প্রোগ্রামিং ফান্ডামেন্টাল (Computer Programming Fundamentals) - Computer Science

217

ইউনিয়ন (Union) হল একটি ডেটা স্ট্রাকচার যা একাধিক ডেটা টাইপকে একই সময়ে সংরক্ষণ করার সুযোগ দেয়। এটি সাধারণত সি বা সি++ প্রোগ্রামিং ভাষায় ব্যবহৃত হয়। ইউনিয়নের মাধ্যমে বিভিন্ন ডেটা টাইপ একসাথে সংরক্ষণ করা যায়, কিন্তু শুধুমাত্র একটি ডেটা টাইপের মানই একই সময়ে সক্রিয় থাকে। অর্থাৎ, ইউনিয়নটির সদস্যরা একই মেমরি স্পেস ভাগ করে।

ইউনিয়নের কনসেপ্ট

ইউনিয়ন তৈরি করা হয় যাতে একটি ভেরিয়েবল একাধিক ডেটা টাইপ ধারণ করতে পারে, এবং এটি সর্বদা সর্বশেষ ইনিশিয়ালাইজড ভ্যালুকে সংরক্ষণ করে।

সাধারণ সিনট্যাক্স:

union UnionName {
    dataType1 member1;
    dataType2 member2;
    ...
};

উদাহরণ

#include <stdio.h>

union Data {
    int intValue;
    float floatValue;
    char charValue;
};

int main() {
    union Data data;

    data.intValue = 10;
    printf("intValue: %d\n", data.intValue); // আউটপুট: 10

    data.floatValue = 5.5;
    printf("floatValue: %.2f\n", data.floatValue); // আউটপুট: 5.50
    printf("intValue after assigning float: %d\n", data.intValue); // আউটপুট: Undefined behavior

    data.charValue = 'A';
    printf("charValue: %c\n", data.charValue); // আউটপুট: A
    printf("intValue after assigning char: %d\n", data.intValue); // আউটপুট: Undefined behavior

    return 0;
}

ইউনিয়ন এবং স্ট্রাকচার এর মধ্যে পার্থক্য

বৈশিষ্ট্যইউনিয়ন (Union)স্ট্রাকচার (Structure)
মেমরি বরাদ্দসব সদস্যদের জন্য একই মেমরি বরাদ্দ করেপ্রতিটি সদস্যের জন্য পৃথক মেমরি বরাদ্দ করে
সক্রিয় সদস্যসর্বদা শুধুমাত্র একটি সদস্য সক্রিয় থাকেসব সদস্য একই সাথে সক্রিয় থাকে
মেমরি আকারসর্বাধিক সদস্যের আকারের সমানসব সদস্যের মোট আকারের সমান
ব্যবহারএকাধিক ডেটা টাইপ সংরক্ষণের জন্য, তবে একসাথে নয়একাধিক ডেটা টাইপ সংরক্ষণ এবং অ্যাক্সেস করার জন্য

উপসংহার

ইউনিয়ন একটি শক্তিশালী ডেটা স্ট্রাকচার যা একই মেমরি স্পেসে একাধিক ডেটা টাইপ ধারণ করার সুযোগ দেয়, তবে এটি শুধুমাত্র একটি টাইপের মানের সক্রিয় থাকার সুবিধা প্রদান করে। এটি প্রোগ্রামিংয়ে স্থান এবং সম্পদ ব্যবহারকে দক্ষ করতে সাহায্য করে। তবে, ইউনিয়ন ব্যবহারের সময় সতর্কতা অবলম্বন করতে হবে, কারণ এটি পূর্ববর্তী মানগুলোকে ওভাররাইট করে, যা প্রায়ই অপ্রত্যাশিত আচরণ সৃষ্টি করতে পারে।

Promotion

Are you sure to start over?

Loading...