السلام عليكم
من مميزات الenum انة ثابت الحجم وغالبا يكون فى حجم الint مهما ذات عدد عناصرة .
وهذة الميزة جعلتة المفضل لدى مبرمجى السى ليكون بمثابة حامل للoption فمثلا اذا تخيلنا دالة ترسم دائرة (مساحتها ثابتة) ويمكن تلوينها بعدد من الالوان وليكن
enum color{
White,
Red,
...
Black
};فلنستخدم typedef (لا احد يستعمل struct او union او enum بدون typedef تجنبا للكتابة الزائدة)
typedef enum{
....
}Color;ونجعل الدالة على تلك الشاكلة
circle_color(Circle* , Color color);
ويمكن مناداتها على الشاكلة
circle_color(objptr , Red);
ويمكن وضعها داخل الجمل الشرطية وما الى ذلك.
مكتبة GTK مثال لاستخدام الكثيف لenum بتلك الطريقة.
