C enum (Numaralandırma)

Bu öğreticide, örnekler yardımıyla C programlamada enum (numaralandırma) hakkında bilgi edineceksiniz.

C programlamada, bir numaralandırma türü (enum olarak da adlandırılır), integral sabitlerden oluşan bir veri türüdür. Numaralandırmaları tanımlamak için enumanahtar kelime kullanılır.

 enum bayrağı (const1, const2,…, constN); 

Varsayılan olarak, sabit1 0, sabit2 1'dir ve böyle devam eder. Bildirim sırasında enum öğelerinin varsayılan değerlerini değiştirebilirsiniz (gerekirse).

 // enum sabitlerinin varsayılan değerlerinin değiştirilmesi enum suit (club = 0, diamonds = 10, hearts = 20, spades = 3,);

Numaralandırılmış Tip Beyanı

Bir enum türü tanımladığınızda, değişkenin planı oluşturulur. Enum türlerinin değişkenlerini nasıl oluşturabileceğiniz aşağıda açıklanmıştır.

enum boolean (yanlış, doğru); enum boole kontrolü; // bir enum değişkeni bildirmek

Burada, türün değişken bir kontrolü enum booleanoluşturulur.

Bunun gibi enum değişkenlerini de bildirebilirsiniz.

 enum boolean (yanlış, doğru) kontrol; 

Burada değeri false0'a eşittir ve değeri true1'e eşittir.

Örnek: Numaralandırma Türü

 #include enum week (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday); int main() ( // creating today variable of enum week type enum week today; today = Wednesday; printf("Day %d",today+1); return 0; ) 

Çıktı

 4. gün

Numaralandırmalar neden kullanılır?

Bir enum değişkeni yalnızca bir değer alabilir. İşte bunu göstermek için bir örnek:

 #include enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; printf("Size of enum variable = %d bytes", sizeof(card)); return 0; ) 

Çıktı

 Enum değişkeninin boyutu = 4 bayt

Burada int4 bayt boyutu olduğu için 4 alıyoruz .

Bu, numaralandırmayı bayraklarla çalışmak için iyi bir seçim yapar.

Bayraklar için numaralandırma nasıl kullanılır?

Bir örnek ele alalım,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Windows uygulaması için bir düğme tasarladığınızı varsayalım. ITALICS, BOLD ve UNDERLINE bayraklarını metinle çalışması için ayarlayabilirsiniz.

Yukarıdaki sözde kodda tüm integral sabitlerin 2'nin kuvveti olmasının bir nedeni vardır.

 // İkili ITALICS'te = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

İntegral sabitleri 2'nin kuvveti olduğundan, iki veya daha fazla bayrağı bitsel OR | Şebeke. Bu, aynı anda iki veya daha fazla bayrak seçmenize izin verir. Örneğin,

 #include enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 printf("%d", myDesign); return 0; ) 

Çıktı

 5

Çıktı 5 olduğunda, her zaman kalın ve altı çizili olduğunu bilirsiniz.

Ayrıca gereksinimlerinize göre bayraklar ekleyebilirsiniz.

 if (myDesign & ITALICS) (// italik için kod)

Burada tasarımımıza italik yazı ekledik. Not, ififadenin içine sadece italik için kod yazılmıştır .

Numaralandırma kullanmadan C programlamasında neredeyse her şeyi başarabilirsiniz. Ancak, bazı durumlarda oldukça kullanışlı olabilirler.

Ilginç makaleler...