یونیون (Union) در ++c :
یونیون (Union) یک نوع دادهی خاص در زبان برنامهنویسی ++C است که این امکان را به برنامهنویس میدهد تا به تعدادی متغیر با اندازه و نوع دلخواه دسترسی داشته باشد. در واقع، یونیون مانند ساختارها (Structures) عمل میکند، با این تفاوت که فقط یک متغیر از اعضای آن در هر لحظه میتواند مقدار داشته باشد.
در تعریف یونیون، میتوانیم تعدادی متغیر از انواع مختلف را تعریف کنیم. این متغیرها در حافظه به صورت ترکیبی ذخیره میشوند و هر کدام در همان مکان حافظه قرار میگیرند. بنابراین، اگر یک متغیر از یک یونیون مقدار داشته باشد، دیگر متغیرهای یونیون قابل دسترسی نیستند و هیچگاه مقدار نگهداری نمیکنند.
یونیون بسیار مفید است زمانی که نیاز به ذخیرهسازی اطلاعات متفاوت در یک متغیر وجود دارد. به طور مثال، فرض کنید یک سیستم دارای یک ساختار دادهای است که باید اطلاعات یک شخص را ذخیره کند. این اطلاعات ممکن است شامل نام، سن، آدرس و شماره تلفن باشد. با استفاده از یونیون، میتوان این اطلاعات را در یک متغیر تعریف کرد و مقادیر متفاوت را در آن ذخیره کرد.
برای تعریف یونیون در ++C، از کلیدواژه union استفاده میشود. سپس لیستی از متغیرها با انواع مختلف در داخل آن تعریف میشوند. برای دسترسی به عضوهای یونیون، از عملگر ‘.’ استفاده میشود. همچنین، میتوان از کلیدواژه typedef برای تعریف نام جدید برای یونیون استفاده کرد.
مثال زیر نحوه استفاده از یونیون را نشان میدهد:
“`
#include
using namespace std;
union Person {
char name[50];
int age;
double height;
};
int main() {
Person p;
p.age = 25;
cout << “Age: ” << p.age << endl;
strcpy(p.name, “John”);
cout << “Name: ” << p.name << endl;
p.height = 175.5;
cout << “Height: ” << p.height << endl;
return 0;
}
“`
در این مثال، یونیون Person تعریف شده است که شامل سه عضو name، age و height میباشد. ابتدا مقدار age به عنوان 25 تعیین میشود و سپس مقدار name به “John” و height به 175.5 تغییر میکنند. در هر مرحله، فقط یکی از عضوهای یونیون مقدار دارد و دیگر عضوها مقدار نگه نمیدارند.
به طور خلاصه، یونیون در ++C یک نوع دادهی مفید است که به برنامهنویس اجازه میدهد تا به تعدادی متغیر با اندازه و نوع مختلف دسترسی داشته باشد. با استفاده از یونیون، میتوان اطلاعات متفاوت را در یک متغیر ذخیره کرده و به آنها دسترسی داشت. با این حال، باید به دقت از یونیون استفاده کرد تا از خطاهای ناخواسته جلوگیری شود.