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
डिफल्ट रूपमा सुरुबाट 0
、1
、2
… स्वचालित रूपमा मानहरू असाइन गरिन्छ। तर, म्यानुअल रूपमा विशेष मानहरू असाइन गर्न पनि सम्भव छ।
enum Days {
MONDAY = 1,
TUESDAY,
WEDNESDAY,
THURSDAY = 10,
FRIDAY
};
यस उदाहरणमा、MONDAY
मा1
、TUESDAY
मा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
};
यस अवस्थामा, MONDAY
र FRIDAY
ले समान मान राख्छन्, जसले अनपेक्षित व्यवहार निम्त्याउन सक्छ। साथै, 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
को आधारभूतदेखि विस्तृत प्रयोगसम्म बुझ्नुहोस्, र वास्तविक विकासमा उपयोग गर्नुहोस्।