C Programming में enum (या Enumeration) एक user-defined डेटा टाइप होता है जिसका उपयोग हम नामांकित integer constants बनाने के लिए करते हैं। इसका मुख्य उद्देश्य readability बढ़ाना और constants को manage करना आसान बनाना होता है।
enum EnumName {
VALUE1,
VALUE2,
VALUE3
};
उदाहरण:
enum Days {
SUNDAY,
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY
};
यहाँ, SUNDAY को 0, MONDAY को 1 और इसी तरह बाकी को क्रमशः मान दिए जाते हैं।
#include <stdio.h>
enum Days {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
};
int main() {
enum Days today = WEDNESDAY;
printf("आज का दिन: %d\n", today);
return 0;
}
आज का दिन: 3
enum Status {
SUCCESS = 0,
FAILURE = 1,
PENDING = 2
};
यहाँ हर enum member को manually value assign की गई है।
typedef enum {
RED, GREEN, BLUE
} Color;
int main() {
Color c = GREEN;
printf("Color: %d", c);
}
enum Direction {
NORTH, EAST, SOUTH, WEST
};
int main() {
enum Direction dir = SOUTH;
switch (dir) {
case NORTH:
printf("उत्तर दिशा");
break;
case EAST:
printf("पूर्व दिशा");
break;
case SOUTH:
printf("दक्षिण दिशा");
break;
case WEST:
printf("पश्चिम दिशा");
break;
}
}
enum Number {
ONE, TWO, THREE
};
int main() {
enum Number n;
printf("enum size: %zu bytes", sizeof(n));
return 0;
}
struct Student {
char name[50];
enum Status {
PASS, FAIL
} result;
};
Feature | enum | #define | const |
---|---|---|---|
Type Safety | Yes | No | Yes |
Debugging Friendly | Yes | No | Yes |
Scope | Block scoped | Global | Block scoped |
Enumeration यानी enum C में एक उपयोगी feature है जो named integer constants की सुविधा देता है। इससे कोड न केवल readable बनता है, बल्कि maintain करना भी आसान हो जाता है। खासकर जब हमें fixed value sets जैसे days, colors, status को represent करना हो तो enum बहुत कारगर साबित होता है।