الهيكل مقابل الاتحاد: الفرق والمقارنة

يتم استخدام الهيكل والاتحاد في البرمجة لتسهيل وظيفة المتغيرات وتدفق البيانات والقدرة على معالجة البيانات. تعتبر معالجة المتغيرات عملية مهمة للغاية ، حيث يساعدنا ذلك في تحديد الهياكل الخوارزمية المعقدة التي يمكنها معالجة البيانات.

بالطريقة نفسها ، تقدم لغة البرمجة C نوعين متغيرين: البنية والوحدة.

ظاهريًا ، يبدو أن كلاهما يمتلك وظائف متشابهة جدًا وفي بعض الحالات ، يمكن استخدامهما لنفس الوظيفة أيضًا! ومع ذلك ، هناك العديد من الاختلافات التي تمتلكها ، معرفة مما يساعد على التمييز بين هذه المصطلحات.

الوجبات السريعة الرئيسية

  1. الهيكل عبارة عن مجموعة من المتغيرات من أنواع بيانات مختلفة ، بينما الاتحاد عبارة عن مجموعة من المتغيرات التي تشترك في نفس موقع الذاكرة.
  2. تسمح البنية بتجميع متغيرات متعددة لأنواع بيانات مختلفة ، بينما تسمح الوحدة للمتغيرات المختلفة باحتلال نفس مساحة الذاكرة.
  3. تُستخدم الهياكل لتنظيم البيانات ، بينما تُستخدم النقابات لتحسين البيانات وتوفير مساحة الذاكرة.

الهيكل مقابل الاتحاد

الهيكل عبارة عن مجموعة من المتغيرات ذات الصلة لأنواع البيانات المختلفة التي يمكن الوصول إليها باستخدام تدوين النقطة. الاتحاد هو نوع بيانات يسمح بتخزين متغيرات متعددة في نفس موقع الذاكرة ، مع استخدام عضو واحد فقط في كل مرة. إنه مفيد للحفاظ على الذاكرة عند العمل مع متغيرات من أنواع البيانات المختلفة.

الهيكل مقابل الاتحاد 1

جدول المقارنة

معلمات المقارنةالهيكليةالاتحاد
تعريفيخصص الهيكل عناصر مختلفة لمواقع ذاكرة مختلفة.Union \ يخصص عناصر ذاكرة مختلفة لنفس الموقع.
بناء الجملةالهيكل 1 {نوع البيانات 1 ؛ نوع البيانات 2 ؛…} المتغير 1 ، المتغير 2 ،… ؛union1 {نوع البيانات 1 ؛ نوع البيانات 2 ؛…} متغير 1 ؛ متغير 2 ،… ؛
البحث عن كلمةالبنية الاتحاد 
ذاكرة جميع أنواع البيانات في مواقع ذاكرة منفصلة.جميع أنواع البيانات في نفس موقع الذاكرة.
المقاسحجم التخزين هو مجموع حجم كافة عناصر البيانات.حجم التخزين هو قيمة أكبر نوع بيانات.
قم بتثبيت هذا الآن لتتذكره لاحقًا
يعلق هذا

ما هو الهيكل؟

الهياكل هي المتغيرات التي يمكنها الاحتفاظ بالعديد من أنواع عناصر البيانات في نفس الوقت. ومع ذلك ، من الجدير بالملاحظة أن عناصر البيانات التي يحتفظ بها الهيكل يمكن أن تكون من أنواع بيانات مختلفة.

اقرأ أيضا:  Viber vs Skype: الفرق والمقارنة

وبالتالي ، تعد البنية طريقة مفيدة جدًا لتخزين البيانات والوصول إليها ومعالجتها. يتم تعريف الهيكل باستخدام عبارة "Struct". لفهم ما هي الكلمة الرئيسية ، نحن سوف يكون للنظر قليلاً في مفهوم اللغة.

في أي لغة برمجة ، وليس فقط لغة C ، نحتاج إلى استخدام كلمة أساسية أو أمر يساعد المترجم على التعرف على وظيفة معينة تم استدعاؤها ، وسيتم تنفيذها وفقًا لذلك. 

يتبع بناء جملة الهيكل النمط التالي:

هيكل هيكل_اسم {

char firstName [10] ؛

char lastName [10] ؛

عمر Int

عنوان char [20] ؛

};

تمت تسمية هذه البنية باسم "اسم_الهيكل" ويمكن استدعاؤها في أي مكان في الوظيفة بعد تحديدها. يمكن استدعاؤه عدة مرات أيضًا ، حسب المتطلبات. يمكننا أن نرى أن الهيكل يحتوي على عدد قليل من عناصر البيانات كسمات له.

هم الاسم الأول للشخص ، و الكنية من ذلك الشخص وعمره وعنوانه. لاحظ كيف يوجد أكثر من نوع بيانات واحد في الهيكل. سيكون لجميع أنواع البيانات هذه مواقع ذاكرة منفصلة حيث سيتم تخزينها. 

افتراضيًا ، يكون كل الأعضاء في الهيكل عامًا. نعني بشكل عام أنه يمكن لجميع الوظائف والكائنات الأخرى الوصول إلى جميع أنواع البيانات في الهيكل. ومع ذلك ، يمكن تغيير هذه الخاصية إلى خاص لحماية البيانات.

بناء

ما هو الاتحاد؟

الاتحاد هو نوع بيانات يخزن عناصر بيانات مختلفة بالداخل. يوجد هذا في لغة البرمجة C ، والتي تساعد في إدراج البيانات ومعالجتها والوصول إليها في البرنامج.

ومع ذلك ، من الجدير بالملاحظة أن النقابات لا يمكنها الاحتفاظ بعناصر بيانات من أنواع بيانات مختلفة ، مما يحد من قدراتها مقارنة بالهياكل إلى حد ما.

اقرأ أيضا:  SSRS مقابل SSIS: الفرق والمقارنة

عندما نحدد أو نطلق على الاتحاد ، فإنها إلى حد كبير نفس الطريقة التي نسميها الهيكل. الكلمة الأساسية لـ union هي "union" فقط ، متبوعة باسم الاتحاد الذي يرغب المبرمج في منحه.

بناء جملة الاتحاد كما يلي:

الاتحاد union_name {

كائن البيانات 1 ؛

كائن البيانات 2 ؛

… ؛

};

على غرار الهياكل ، يمكن استخدام الاتحاد ، بعد تعريفه ، في أي مكان في الوظيفة ، والفئات الأخرى ، والكائنات. يمكن استخدام الاتحاد عدة مرات حسب الحاجة.

ستكون مساحة الذاكرة التي تشغلها الوحدة هي نفسها الذاكرة المطلوبة لاستيعاب أكبر نوع بيانات مذكور في الاتحاد. 

الاتحاد

الاختلافات الرئيسية بين الهيكل والاتحاد

  1. يتمثل الاختلاف الرئيسي بين Structure و Union في أن الهياكل عبارة عن متغيرات يمكنها استيعاب المتغيرات الأخرى وتخصيص مساحات ذاكرة منفصلة لها. في المقابل ، تخصص النقابات المتغيرات لنفس مساحة الذاكرة.
  2. الكلمة الأساسية للهيكل هي "Structure" ، بينما الكلمة الأساسية "union" هي "union".
  3. يمكن للهياكل تخزين قيم متعددة في وقت واحد ، بينما يمكن للنقابات تخزين قيمة واحدة فقط في وقت واحد.
  4. يمكن أن تساعد الهياكل في عرض موقع ذاكرة واحد بطريقة واحدة فقط. تساعد النقابات في عرض موقع ذاكرة واحد بعدة طرق.
  5. لا يمكن أن يكون الهيكل مجهول الهوية. ومع ذلك ، يمكن إعلان النقابة مجهولة.
مراجع حسابات
  1. https://www.bell-labs.com/usr/dmr/www/chist.pdf
  2. https://asa.scitation.org/doi/pdf/10.1121/1.401205
طلب واحد؟

لقد بذلت الكثير من الجهد في كتابة منشور المدونة هذا لتقديم قيمة لك. سيكون مفيدًا جدًا بالنسبة لي ، إذا كنت تفكر في مشاركته على وسائل التواصل الاجتماعي أو مع أصدقائك / عائلتك. المشاركة هي ♥ ️

هل تريد حفظ هذه المقالة لوقت لاحق؟ انقر فوق القلب الموجود في الزاوية اليمنى السفلية للحفظ في مربع المقالات الخاصة بك!

نبذة عن الكاتب

شارا ياداف حاصلة على ماجستير في إدارة الأعمال في المالية. هدفها هو تبسيط الموضوعات المتعلقة بالتمويل. عملت في مجال التمويل لمدة 25 عامًا تقريبًا. وقد عقدت العديد من الفصول المالية والمصرفية لكليات الأعمال والمجتمعات. اقرأ المزيد عندها صفحة بيو.