PDA

View Full Version : یونیون ها Unions



mr_esmaily
چهارشنبه 29 تیر 1384, 11:33 صبح
سلام
کاربرد یونیون ها در کجاست و چطوری مورد استفاده قرار می گیرند ؟

sh_roohani
چهارشنبه 29 تیر 1384, 11:57 صبح
union ها دقیقا مثل struct ها تعریف می شن. تفاوت اونا در اینه که اعضای یه union همه از یه نقطه حافظه شروع می شن. بنابراین طول یه union برابر طول بزرگترین عضو اونه. یکی از کاربردهای union که احتمالا در struct های Windows هم دیدین، اینه که مثلا شما می خواین بتونین به یه عضو 4 بایتی یه struc به سه صورت بایت-بایت، دوبایت-دوبایت و چهاربایتی دسترسی پیدا کنین. بنابراین اون عضو struct رو به صورت یه union تعریف می کنن که خودش شامل یه عضو چهاربایتی، یه آرایه دوتایی از عناصر دوبایتی و یه آرایه چهارتایی از عناصر یه بایتی باشه. به این ترتیب شما می تونین به هر یک از سه صورتی که در بالا گفتم به اون عضو struct دست پیدا کنین. البته یه نکته رو همیشه به خاطر داشته باشین. اگه به هریک از اعضای یه union مقداری بدین، مقدار همه اعضای دیگه هم رونویسی می شه و دیگه اون مقدار قبلی برای هیچکدوم از اعضا معتبر نیست.

mr_esmaily
پنج شنبه 30 تیر 1384, 16:13 عصر
سلام
مرسی , حل شد.