C enum (Penghitungan)

Dalam tutorial ini, anda akan belajar mengenai enum (penghitungan) dalam pengaturcaraan C dengan bantuan contoh.

Dalam pengaturcaraan C, jenis pencacahan (juga disebut enum) adalah jenis data yang terdiri daripada pemalar integral. Untuk menentukan enum, enumkata kunci digunakan.

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

Secara lalai, const1 adalah 0, const2 adalah 1 dan seterusnya. Anda boleh mengubah nilai lalai elemen enum semasa pengisytiharan (jika perlu).

 // Menukar nilai lalai enum constants enum suit (kelab = 0, berlian = 10, hati = 20, sekop = 3,);

Pengisytiharan Jenis Bilangan

Apabila anda menentukan jenis enum, cetak biru untuk pemboleh ubah dibuat. Inilah cara anda boleh membuat pemboleh ubah jenis enum.

enum boolean (salah, benar); cek enum boolean; // menyatakan pemboleh ubah enum

Di sini, semakan pemboleh ubah jenis enum booleandibuat.

Anda juga boleh menyatakan pemboleh ubah enum seperti ini.

 cek enum boolean (salah, benar); 

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

Contoh: Jenis Penghitungan

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

Pengeluaran

 Hari ke-4

Mengapa enum digunakan?

Pemboleh ubah enum hanya boleh mengambil satu nilai. Berikut adalah contoh untuk menunjukkannya,

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

Pengeluaran

 Saiz pemboleh ubah enum = 4 bait

Di sini, kita mendapat 4 kerana ukurannya intialah 4 bait.

Ini menjadikan enum pilihan yang baik untuk bekerja dengan bendera.

Bagaimana menggunakan enum untuk bendera?

Mari kita ambil contoh,

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

Katakan anda merancang butang untuk aplikasi Windows. Anda boleh menetapkan bendera ITALIK, BOLD dan BAWAH untuk berfungsi dengan teks.

Terdapat sebab mengapa semua pemalar integral adalah kekuatan 2 dalam pseudokod di atas.

 // Dalam binari ITALIK = 00000001 BOLD = 00000010 BAWAH = 00000100 

Oleh kerana pemalar integral adalah kekuatan 2, anda boleh menggabungkan dua atau lebih bendera sekaligus tanpa bertindih menggunakan bitwise ATAU | pengendali. Ini membolehkan 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; ) 

Pengeluaran

 5

Apabila outputnya 5, anda selalu tahu bahawa garis tebal dan garis bawah digunakan.

Anda juga boleh menambah bendera mengikut keperluan anda.

 jika (myDesign & ITALICS) (// kod untuk huruf miring)

Di sini, kami telah menambahkan huruf miring pada reka bentuk kami. Perhatikan, hanya kod untuk huruf miring yang ditulis di dalam ifpernyataan.

Anda boleh mencapai hampir semua perkara dalam pengaturcaraan C tanpa menggunakan penghitungan. Walau bagaimanapun, mereka boleh menjadi sangat berguna dalam situasi tertentu.

Artikel menarik...