ربما تختلف المصطلحات بين لغات البرمجة/أنظمة التشغيل/ الخوارزميات فأرجو تحديد المجال الذي تقصده بها.
unions في لغة C تدل على مجموعة متغيرات تشير لنفس الجزء من الذاكرة ( هو نوع بيانات محدد من قبل المستخدم يشير لمجموعة من المتغيرات لأنواع البيانات المختلفة في نفس موقع الذاكرة، تستخدم لحفظ الذاكرة)
مثال:
#include <stdio.h>
// Declaration of union is same as structures
union test {
int x, y;
};
int main()
{
// A union variable t
union test t;
t.x = 2; // t.y also gets value 2
printf("After making x = 2:\n x = %d, y = %d\n\n",
t.x, t.y);
t.y = 10; // t.x is also updated to 10
printf("After making y = 10:\n x = %d, y = %d\n\n",
t.x, t.y);
return 0;
}
تغيير x سيؤدي لتغيير y
Output:
After making x = 2:
x = 2, y = 2
After making y = 10:
x = 10, y = 10
_________________________________________________
enum: التعداد هو "فئة" خاصة تمثل مجموعة من الثوابت (المتغيرات غير القابلة للتغيير ، مثل المتغيرات النهائية).
قمنا بتعريف أسماء أيام الأسبوع كقائمة تعداد حيث تستخدم لتسهيل التعامل مع القوائم أي يقوم المبرمج باستخدام الكلمات للدلالة على العناصر بدل الأرقام والتي هي فعليا أرقام.
أما في جافا مثلا تأخذ قيمتها الفعلية كنص، مثال من توثيق: w3schools
bit fields: بنية معطيات تستخدم لتحديد أصغر جزء في ذاكرة الحاسب (وهي البت bit ) كمجموعة قابلة للعنونة حيث عن طريقها نستطيع تخصيص قيمة لكل منها على جدى، تستخدم بشكل عام لتحديد حجم الذاكرة بدقية لمجموعة متغيرات.
مثلا بدل تعريف مصفوفة بوليانية تأخذ 8 بايت من الذاكرة، يمكن حجز bit field بطول 8 بت (أي 1 بايت) وكل بت يمكننا استخدامه كمتغير بولياني
_________________________________________________
syntax highlighting: هي طريقة تلوين محررات النصوص للأكواد البرمجية حسب الكلمات المفتاحية و التي تجعل الشيفرة قابلة للقراءة بسهولة أكثر، تمييز المتغيرات عن الدوال و الأصناف والأرقام و السلاسل النصية وغيرها.. .