C भाषा मा enum प्रयोग: परिभाषा देखि उपयोगसम्मको पूर्ण मार्गदर्शिका

1. परिचय

सी भाषामाenum (गणना प्रकार) प्रोग्रामिङको पठनीयता र मर्मतयोग्यतालाई सुधार्नका लागि महत्वपूर्ण उपकरण हो।यस लेखमा, enumको आधारभूत प्रयोगबाट उपयोग विधिसम्म, विस्तृत रूपमा व्याख्या गर्नेछौं।शुरूवात गर्नेहरूदेखि मध्यवर्ती स्तरका व्यक्तिहरू सम्म, यो गाइड पढेरenumको प्रयोगमा निपुण भई, सी भाषाको कोडलाई अझ प्रभावकारी रूपमा लेख्ने कौशल हासिल गरौं।

2. enum के हो?

enum को परिभाषा र भूमिका

enum लाई “गणना प्रकार” भनिन्छ, र यो स्थिरांकहरूको समूह परिभाषित गर्नको लागि डेटा प्रकार हो। सामान्यतया, सम्बन्धित धेरै स्थिरांकहरूलाई सजिलो पहिचान गर्न नाम दिन प्रयोग गरिन्छ। उदाहरणका लागि, प्रोग्राममा रङहरूलाई व्यवस्थापन गर्दा, संख्यात्मक रूपमा व्यवस्थापन गर्नु सहज छैन। तर, enum प्रयोग गरेर RED, GREEN, BLUE जस्ता नामहरूद्वारा रङहरू परिभाषित गर्न सकिन्छ।

किन enum प्रयोग गर्ने?

enum प्रयोग गरेर, तलका जस्ता फाइदाहरू प्राप्त हुन्छन्।

  • कोडको पठनीयता सुधार: संख्याको सट्टा नामले मान व्यक्त गर्न सकिने कारण, कोड बुझ्न सजिलो हुन्छ।
  • रखरखावको सजिलोपन: स्थिरांकहरूको समूह परिवर्तन भए पनि, enum प्रयोग गरिएमा सम्पूर्ण कोडमा परिवर्तनको प्रभाव न्यूनतम रहन्छ।
  • बग रोकथाम: विशेष मानमा सीमित गर्न चाहँदा, enum प्रयोग गरेर गलत मानको प्रयोग रोक्न सकिन्छ।

3. enumको मूलभूत प्रयोग

enumको परिभाषा विधि

मूलभूत enumको परिभाषा तलको जस्तै गरिन्छ।

enum { RED, GREEN, BLUE };

यस अवस्थामा、REDलाई 0、GREENलाई 1、BLUEलाई 2 स्वचालित रूपमा बाँडिन्छ।enumमा नाम दिनु पर्दा तलको जस्तै लेखिन्छ।

enum Color { RED, GREEN, BLUE };

Colorनामको enum बनाइ, यो नाम प्रयोग गरेर भेरिएबल घोषणा गर्न सकिन्छ।

वास्तविक नमूना कोड

तलमा、enum प्रयोग गरेर बनाइएको सरल नमूना कोड हो।

#include <stdio.h>

enum Color { RED, GREEN, BLUE };

int main() {
    enum Color color;
    color = RED;
    printf("%dn", color); // आउटपुट: 0
    return 0;
}

यो कोडमा、REDलाई 0को रूपमा आउटपुट गरिन्छ।

4. enum को विस्तृत प्रयोग

enum को मानको स्वचालित असाइनमेंट र म्यानुअल असाइनमेंट

enum डिफल्ट रूपमा सुरुबाट 012… स्वचालित रूपमा मानहरू असाइन गरिन्छ। तर, म्यानुअल रूपमा विशेष मानहरू असाइन गर्न पनि सम्भव छ।

enum Days {
    MONDAY = 1,
    TUESDAY,
    WEDNESDAY,
    THURSDAY = 10,
    FRIDAY
};

यस उदाहरणमा、MONDAYमा1TUESDAYमा2असाइन गरिएको छ、THURSDAYमा10असाइन गरिएको छ। त्यसपछिFRIDAYस्वचालित रूपमा11हुन्छ।

switch-case कथनमाenum को प्रयोग

enum लाईswitch-case कथनसँग संयोजन गरेर प्रयोग गर्ने धेरै हुन्छ।enum प्रयोग गरेर, सर्त शाखा कोड अझ स्पष्ट हुन्छ।

enum Color { RED, GREEN, BLUE };

int main() {
    enum Color color = BLUE;

    switch(color) {
        case RED:
            printf("Redn");
            break;
        case GREEN:
            printf("Greenn");
            break;
        case BLUE:
            printf("Bluen");
            break;
        default:
            printf("Unknown colorn");
    }
    return 0;
}

यस कोडमा、भेरिएबलcolorको मान अनुसार विभिन्न सन्देशहरू देखाइन्छ।switch-case कथनमाenumको सदस्य प्रयोग गरेर, कोडको पढ्न सजिलो हुन्छ।

enum लाई एरेको इन्डेक्सको रूपमा प्रयोग

enum लाई एरेको इन्डेक्सको रूपमा प्रयोग गर्न पनि सकिन्छ।

enum Color { RED, GREEN, BLUE };
char* color_names[] = { "Red", "Green", "Blue" };

printf("%sn", color_names[RED]); // आउटपुट: Red

यस कोडमा、enumको मान प्रयोग गरेर एरेबाट विशेष स्ट्रिङ प्राप्त गरिन्छ।

5. enum को ध्यान दिनुपर्ने बुँदा र सर्वोत्तम अभ्यासहरू

मानको दोहोर्याइ र सीमा बाहिरको मान

enum भित्र मानको दोहोर्याइलाई अनुमति दिइन्छ, तर कोडको पढ्नयोग्यता र मर्मतसम्भारको दृष्टिकोणबाट यसलाई टाढा राख्नु पर्छ।

enum Days {
    MONDAY = 1,
    FRIDAY = 1
};

यस अवस्थामा, MONDAYFRIDAY ले समान मान राख्छन्, जसले अनपेक्षित व्यवहार निम्त्याउन सक्छ। साथै, enum मा परिभाषित नभएको मानलाई असाइन गर्न पनि सम्भव छ, तर यसलाई पनि टाढा राख्नु पर्छ।

enum Days { MONDAY = 1, TUESDAY = 2 };
enum Days day = 8; // यो कम्पाइल त्रुटि बन्दैन

enum को प्रयोग गरेर कोडको पढ्नयोग्यता सुधार

enum लाई कोडको पढ्नयोग्यता सुधार्न सक्रिय रूपमा प्रयोग गर्नु पर्छ। संख्यात्मक सर्त विभाजनको तुलनामा, enum प्रयोग गर्दा उद्देश्य स्पष्ट हुन्छ र बगहरू रोक्न सकिन्छ।

6. enum प्रयोग गरेर कोडको उदाहरण

enum प्रयोग नगर्ने अवस्थामा र प्रयोग गर्ने अवस्थामा तुलना

enum प्रयोग नगर्ने कोड र प्रयोग गर्ने कोडलाई तुलना गरौं।

enum प्रयोग नगर्ने अवस्थामा

void findNearest(int day) {
    switch(day) {
        case 0:
            printf("आज होn");
            break;
        case 1:
            printf("१ दिन पहिले होn");
            break;
        // छोड़े
    }
}

enum प्रयोग गर्ने अवस्थामा

enum Days { TODAY, YESTERDAY };

void findNearest(Days day) {
    switch(day) {
        case TODAY:
            printf("आज होn");
            break;
        case YESTERDAY:
            printf("एक दिन पहिले होn");
            break;
        // छोएको
    }
}

enum प्रयोग गर्दा, कोडको उद्देश्य स्पष्ट हुन्छ र पढ्न सजिलो हुन्छ।

7. सारांश

enum C भाषा मा एक शक्तिशाली सुविधा हो, जसले कोडको पढ्नयोग्यता र मर्मत सम्भारलाई सुधार्छ।enum को प्रयोग तरिका बुझेर, उपयुक्त रूपमा प्रयोग गर्दा, अधिक प्रभावकारी र कम बग भएको प्रोग्राम लेख्न सम्भव हुन्छ।enum को आधारभूतदेखि विस्तृत प्रयोगसम्म बुझ्नुहोस्, र वास्तविक विकासमा उपयोग गर्नुहोस्।