C enum (Pencacahan)

Dalam tutorial ini, Anda akan belajar tentang enum (enumerasi) dalam pemrograman C dengan bantuan contoh.

Dalam pemrograman C, tipe enumerasi (juga disebut enum) adalah tipe data yang terdiri dari konstanta integral. Untuk mendefinisikan enum, enumkata kunci digunakan.

 bendera enum (const1, const2,…, constN); 

Secara default, const1 adalah 0, const2 adalah 1 dan seterusnya. Anda dapat mengubah nilai default elemen enum selama deklarasi (jika perlu).

 // Mengubah nilai default konstanta enum setelan enum (klub = 0, berlian = 10, hati = 20, sekop = 3,);

Deklarasi Jenis Enumerated

Saat Anda menentukan jenis enum, cetak biru untuk variabel dibuat. Inilah cara Anda membuat variabel jenis enum.

enum boolean (false, true); cek enum boolean; // mendeklarasikan variabel enum

Di sini, pemeriksaan variabel jenis enum booleandibuat.

Anda juga dapat mendeklarasikan variabel enum seperti ini.

 cek enum boolean (false, true); 

Di sini, nilai falsesama dengan 0 dan nilai truesama dengan 1.

Contoh: Jenis Pencacahan

 #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; ) 

Keluaran

 Hari 4

Mengapa enum digunakan?

Variabel enum hanya dapat mengambil satu nilai. Berikut adalah contoh untuk mendemonstrasikannya,

 #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; ) 

Keluaran

 Ukuran variabel enum = 4 byte

Di sini, kita mendapatkan 4 karena ukurannya intadalah 4 byte.

Ini membuat enum pilihan yang baik untuk bekerja dengan flag.

Bagaimana cara menggunakan enum untuk bendera?

Mari kita ambil contoh,

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

Misalkan Anda sedang mendesain tombol untuk aplikasi Windows. Anda dapat mengatur bendera ITALIKA, BOLD dan UNDERLINE untuk bekerja dengan teks.

Ada alasan mengapa semua konstanta integral adalah pangkat 2 pada pseudocode di atas.

 // Dalam biner ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Karena konstanta integral adalah pangkat 2, Anda dapat menggabungkan dua atau lebih flag sekaligus tanpa tumpang tindih menggunakan bitwise OR | operator. Ini memungkinkan Anda memilih dua atau lebih bendera sekaligus. Sebagai contoh,

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

Keluaran

 5

Jika outputnya 5, Anda selalu tahu bahwa tebal dan garis bawah digunakan.

Selain itu, Anda dapat menambahkan bendera sesuai dengan kebutuhan Anda.

 if (myDesign & ITALICS) (// kode untuk huruf miring)

Di sini, kami telah menambahkan huruf miring ke desain kami. Perhatikan, hanya kode untuk huruf miring yang ditulis di dalam ifpernyataan.

Anda dapat menyelesaikan hampir semua hal dalam pemrograman C tanpa menggunakan enumerasi. Namun, mereka bisa sangat berguna dalam situasi tertentu.

Artikel yang menarik...