MCAWALA

C Programming Tutorial

Enumeration (enum) in C – आसान हिंदी में

C Programming में enum (या Enumeration) एक user-defined डेटा टाइप होता है जिसका उपयोग हम नामांकित integer constants बनाने के लिए करते हैं। इसका मुख्य उद्देश्य readability बढ़ाना और constants को manage करना आसान बनाना होता है।

enum का Syntax

enum EnumName {
    VALUE1,
    VALUE2,
    VALUE3
};

उदाहरण:

enum Days {
    SUNDAY,
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY
};

यहाँ, SUNDAY को 0, MONDAY को 1 और इसी तरह बाकी को क्रमशः मान दिए जाते हैं।

Simple enum Example

#include <stdio.h>

enum Days {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
};

int main() {
    enum Days today = WEDNESDAY;
    printf("आज का दिन: %d\n", today);
    return 0;
}

Output:

आज का दिन: 3

Manually Value Assign करना

enum Status {
    SUCCESS = 0,
    FAILURE = 1,
    PENDING = 2
};

यहाँ हर enum member को manually value assign की गई है।

typedef के साथ enum

typedef enum {
    RED, GREEN, BLUE
} Color;

int main() {
    Color c = GREEN;
    printf("Color: %d", c);
}

enum के साथ switch-case

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 का Size

enum Number {
    ONE, TWO, THREE
};

int main() {
    enum Number n;
    printf("enum size: %zu bytes", sizeof(n));
    return 0;
}

Structure के अंदर enum

struct Student {
    char name[50];
    enum Status {
        PASS, FAIL
    } result;
};

enum vs #define vs const

Feature enum #define const
Type Safety Yes No Yes
Debugging Friendly Yes No Yes
Scope Block scoped Global Block scoped

enum के फायदे

  • Readable और Maintainable code
  • Type safety के कारण कम errors
  • Magic numbers की जगह meaningful नाम

enum की सीमाएँ

  • केवल integer values को support करता है
  • enum members का नाम unique होना चाहिए
  • Strict type checking नहीं होती C में (C++ में होती है)

enum कब Use करें?

  • जब fixed number of values हों
  • जैसे status (active, inactive), days, months, direction आदि

निष्कर्ष

Enumeration यानी enum C में एक उपयोगी feature है जो named integer constants की सुविधा देता है। इससे कोड न केवल readable बनता है, बल्कि maintain करना भी आसान हो जाता है। खासकर जब हमें fixed value sets जैसे days, colors, status को represent करना हो तो enum बहुत कारगर साबित होता है।