Programmer نشر 21 نوفمبر 2015 أرسل تقرير نشر 21 نوفمبر 2015 هل هناك فرق بين استخدام struct و union في لغة C لأنني لاحظت أنهما لا يختلفان من ناحية التعريف والاستخدام union myUnion{ string a[32]; float salary; int average; } struct myStruct{ string a[32]; float average; int number; } اقتباس
1 Lujain Maaz نشر 22 نوفمبر 2015 أرسل تقرير نشر 22 نوفمبر 2015 union هي أحد بنى المعطيات في لغة C وهي مماثلة تمامًا للهياكل Structure وتعرّف بنفس الطريقة التي يعرّف بها الـ struct union car{ char name[50]; int price; };وكذلك المتغيرات من نوع union تُنشأ بشكل مماثل للمتغيرات من نوع struct union car{ char name[50]; int price; }c1, c2, *c3; OR; union car{ char name[50]; int price; }; -------Inside Function----------- union car c1, c2, *c3;الفرق بين union و struct هو في تخصيص الذاكرة بينهما فمقدار الذاكرة المطلوبة لتخزين متغير من نوع struct هو مجموع حجم الذاكرة لجميع الأعضاء members في المتغير struct، بينما الذاكرة المطلوبة لتخزين متغير من نوع union هو مقدار الذاكرة المطلوبة لأكبر عنصر في المتغير union. المثال التالي يوضح بشكل كبير الفرق بين حجم الذاكرة المطلوبة لتخزين متغير struct وحجم الذاكرة المطلوبة لتخزين متغير union:#include <stdio.h> union job { //defining a union char name[32]; float salary; int worker_no; }u; struct job1 { char name[32]; float salary; int worker_no; }s; int main(){ printf("size of union = %d",sizeof(u)); printf("\nsize of structure = %d", sizeof(s)); return 0; }النتيجة:size of union = 32 size of structure = 40حجم الذاكرة المطلوبة للمتغير struct في المثال أعلاه:حجم الذاكر المطلوبة للمتغير union في المثال أعلاه:ما الفرق بين union و struct في C؟ 1 اقتباس
السؤال
Programmer
هل هناك فرق بين استخدام struct و union في لغة C لأنني لاحظت أنهما لا يختلفان من ناحية التعريف والاستخدام
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.