Enum or Enumeration क्या है? – What is Enum in C in Hindi

सी लैंग्वेज में User Defined डेटा टाइप बनाने के तीन तरीके है – Structure, Union और Enum  |

आज के इस आर्टिकल में हम Enum या  Enumeration के बारे में बात करने वाले है | 

आज हम विस्तार से जानेगे कि Enum क्या है? (What is Enum in C In Hindi) और सी लैंग्वेज में Enum का उपयोग कैसे करते है ?

तो चलिए बिना समय गवाए सबसे पहले जानते है कि सी लैंग्वेज में Enum क्या है? (What is Enum in C Language in Hindi)

Enum or Enumeration क्या है? - What is Enum in C in Hindi

Enum क्या है? (What is Enum in C in Hindi)

enum (Enumeration) एक यूजर डिफाइंड डेटा टाइप है जिसका उपयोग सी लैंग्वेज में मुखतः integral constants को नाम असाइन करने के लिए किया जाता है | 

enum (Enumeration) के द्वारा हम integral constants को एक meaningful name प्रदान करते है | यह प्रोग्राम को easy to read और easy to maintain बनाता है | 

Enumeration को डिफाइन करने के लिए enum कीवर्ड का उपयोग किया जाता है | इसका बेसिक सिंटेक्स कुछ ऐसा होता है -:

Basic Syntax of enum in C language,

enum enum_name {const1, const2, const3....... };
  • यहाँ enum एक कीवर्ड है जिसकी मदद से हम एक नया डेटा टाइप डिफाइन कर रहे है | 
  • enum_name नए डेटा टाइप का नाम है | ये नाम आप अपने हिसाब से कुछ भी रख सकते है | 
  • const1 की वैल्यू  by default 0 होती है और उसके बाद की वैल्यू जैसे const2, const3  की वैल्यू 1, 2, 3 ऐसे करते हुए आगे बढ़ती जाती है आप इन by default वैल्यू को जरुरत पड़ने पर डिक्लेरेशन के समय ही चेंज कर सकते है | 

Example -:

// Changing default values of enum constants
enum month {jan = 1, feb, march ....... };

इस उदाहरण में हमने jan की वैल्यू जो की by डिफ़ॉल्ट 0 होती है को 1 में बदल दिया है | 

Enumerated Type Declaration In C In Hindi

यदि आपने स्ट्रक्चर पढ़ा होगा तो उसमे आपने देखा होगा कि स्ट्रक्चर डिफाइन कर देने भर से स्ट्रक्चर को मेमोरी में कोई स्पेस नहीं मिलता | स्ट्रक्चर को मेमोरी में स्पेस तब मिलता है तब हम उस स्ट्रक्चर का वेरिएबल डिक्लेअर करते है |  

ठीक इसी तरह Enumerated deta Type बनाने के बाद हमे इसका वेरिएबल डिक्लेअर करना पड़ता है | 

आइये जानते है कि Enumerated type वाले वेरिएबल का डिक्लेरेशन कैसे किया जाता है |

Declaration of enum variable

सी लैंग्वेज में Enumerated type वाले वेरिएबल का डिक्लेरेशन हम स्ट्रक्चर वेरिएबल की तरह ही दो तरह से कर सकते है -:

  1. main() फंक्शन के अंदर enum कीवर्ड के द्वारा
  2. Enumaration define करते समय ही Enumaration के आखिर में | 

Method 1 -:  main()  फंक्शन के अंदर enum कीवर्ड के द्वारा

आइये इसको हम एक example के द्वारा अच्छे से समझते है

Example -: 

#include<stdio.h>
enum month  
{   January, February, March, April, May, June, July, August, September, October, November, December
};  
void main()
{
enum month m1, m2;  
}

Method 2 -: Enumeration Define करते समय ही Enumeration के आखिर में | 

आइये इसको भी हम एक example के द्वारा समझते है

Example -:

enum month  
{   January, February, March, April, May, June, July, August, September, October, November, December
}m1, m2;  

Enumaratoion वेरिएबल को हम ऊपर दिए गए example की तरह भी डिक्लेअर कर सकते है |

Note -: enum variable में हम एक बार में केवल एक ही वैल्यू असाइन या स्टोर कर सकते है 

How to Use Enum 

सी लैंग्वेज में हम Enum का उपयोग इस तरह से करते है -:

Example -:

#include<stdio.h>
enum month  
{  January = 1, February, March, April, May, June, July, August, September, October, November, December
};  
void main()
{
enum month m1, m2;  
m1 = January;
m2 = February;
printf("Month %d", m1);
printf("\nMonth %d", m2);
}

इस उदाहरण में हमने month नाम से एक नया डेटा टाइप बनाया जो सभी month के detail को रखता है | चूँकि enum वेरिएबल एक ही वैल्यू स्टोर कर सकते है इसलिए m1 वेरिएबल में January और m2 में Febuary को असाइन करके printf फंक्शन द्वारा इनकी वैल्यू को प्रिंट करा दिया | 

इसका आउटपुट कुछ ऐसा आएगा -:

Output -:

Month 1
Month 2

Why we use enum

जब हम चाहते है कि हमारे वेरिएबल में कोई सेट ऑफ़ वैल्यू ही हो तब हम enum का उपयोग करते है जैसे rambow में केवल 7 रंग होते है तो यहाँ हम इन सात रंगो को रिप्रेजेंट करने के लिए enum का उपयोग कर सकते है | 

enum का उपयोग ऐसे वैल्यू को स्टोर करने के लिए किया जाता है जिसकी वैल्यू कभी चेंज नहीं हो सकती जैसे – महीनो के नाम , हफ्ते के सतो दिन , सत्य, असत्य, आदि | 

enum का उपयोग ज्यादतर switch-case statements के साथ किया जाता है क्योकि switch-case statements में एक बार में केवल ही स्टेटमेंट execute होता है | 

enum का उपयोग प्रोग्राम की readability बढ़ाता है 

Example -:

#include<stdio.h>
enum boolean  
{ false , true 
}result;

void main()
{
  int x;
  printf("Enter a number ");
  scanf("%d", &x);
  
  if(x%2==0)
    result = true;
  else
  result = false;

if (result)
    printf("Even Number");
else 
   printf("Odd Number");
}

इस उदाहरण में हमने boolean बनाया और result नाम से एक enum वेरिएबल बनाया | इस प्रोग्राम में हमने यूजर से एक वैल्यू लिया और इस वैल्यू को ये पता लगाने के लिए if कंडीशन लगाया कि ये वैल्यू odd number है या even number है? और जो भी रिजल्ट आया उसको हमने result वेरिएबल में असाइन कर दिया | 

इस रिजल्ट वेरिएबल में जो भी वैल्यू आयी उसके हिसाब से हमने स्क्रीन में उस रिजल्ट प्रिंट करा दिया | 

इसका रिजल्ट कुछ ऐसा आया –

Output -:

Enter a number
15
Even number

Important Point About Enum

  • यदि हम enum name में कोई वैल्यू असाइन नहीं करेंगे तब कम्पाइलर by default शुरुवाती नाम को 0 असाइन कर देता है | और उसके बाद के नाम को 0 से बढ़ाते हुए वैल्यू प्रदान करता है 
  • आप enum name के डिफ़ॉल्ट वैल्यू को डिक्लेरेशन के समय अपने हिसाब से बदल सकते है |
  • enum name को हम किसी भी आर्डर में डिक्लेअर कर सकते है | 
  • एक ही स्कोप में बने enum name एक जैसे नहीं होने चाहिए नहीं तो कम्पाइलर एरर देता है | 

Conclusion 

दोस्तों आशा करता हु कि आज के इस आर्टिकल को पढ़ने के बाद आपको Enum क्या है? (What is Enum in C In Hindi) और सी लैंग्वेज में Enum का उपयोग कैसे करते है ? से संबंधित सभी जानकारी मिल गई होगी और आपको और कही इसके बारे में सर्च करना नहीं पड़ेगा |

अगर आप सी लैंग्वेज का Complete Tutorial चाहते है तो मेरे इस पोस्ट C Language Tutorial In Hindi को देखे यहाँ आपको C Programming Language के सभी टॉपिक्स step by step मिल जाएगी |

दोस्तों आशा करता हु कि आपको ये पोस्ट पसंद आई होगी और आपको  Enum क्या है? (What is Enum in C In Hindi) और सी लैंग्वेज में Enum का उपयोग कैसे करते है ?  के बारे में काफी जानकरी हुई होगी |

अगर आपको ये पोस्ट पसंद आया है तो इस पोस्ट को अपने अपने दोस्तों को शेयर करना न भूलिएगा ताकि उनको भी ये जानकारी प्राप्त हो सके |

अगर आपको अभी भी Enum क्या है? (What is Enum in C In Hindi) से संबंधित कोई भी प्रश्न या Doubt है तो आप जरूर बताये मैं आपके सभी सवालों का जवाब दूँगा और ज्यादा जानकारी के लिए आप हमसे संपर्क कर सकते है

एसी ही नया टेक्नोलॉजी ,Programming Language, Coding , C Language, C++, Python Course , Java Tutorial से रिलेटेड जानकारियाँ पाने के लिए हमारे इस वेबसाइट को सब्सक्राइब कर दीजिए | जिससे हमारी आने वाली नई पोस्ट की सूचनाएं जल्दी प्राप्त होगी |

Jeetu Sahu is A Web Developer | Computer Engineer | Passionate about Coding, Competitive Programming and Blogging