Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Menguasai Enumerasi C: Definisi, Deklarasi, dan Operasi Flag

Enumerasi C

Jelajahi cara mendefinisikan, mendeklarasikan, dan memanfaatkan enum dalam C—lengkap dengan contoh praktis, teknik flag, dan wawasan ukuran.

Dalam C, enumeration (enum) adalah tipe yang mengelompokkan serangkaian konstanta integral bernama, menawarkan intent yang lebih jelas dan keamanan tipe waktu kompilasi.

 enum flag {const1, const2, ..., constN}; 

Secara default, const1 sama dengan 0, const2 sama dengan 1, dan seterusnya. Anda dapat mengganti nilai ini pada saat deklarasi jika diperlukan.

 // Mengubah konstanta enum enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, }; 

Deklarasi Tipe Enumerasi

Mendefinisikan enum menciptakan tipe baru yang dapat digunakan untuk variasi. Berikut cara mendeklarasikan dan membuat instance-nya.

 enum boolean {false, true}; enum boolean check; // deklarasi variabel 

Variabel check kini bertipe enum boolean. Nilainya memetakan ke false = 0 dan true = 1.

 enum boolean {false, true} check; 

Contoh: Enumerasi Hari

 #include <stdio.h> enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}; int main() { enum week today = Wednesday; printf("Day %d", today + 1); return 0; } 

Output

Day 4

Mengapa Menggunakan Enum?

Variabel enum menyimpan satu nilai bernama, membuat kode terdokumentasi sendiri. Mereka juga menempati penyimpanan yang sama seperti int secara default, biasanya 4 byte pada sebagian besar platform.

 #include <stdio.h> enum suit {club = 0, diamonds = 10, hearts = 20, spades = 3} card; int main() { card = club; printf("Ukuran variabel enum = %d byte", sizeof(card)); return 0; } 

Output

Ukuran variabel enum = 4 byte

Ukuran ini konsisten dengan tipe int yang mendasarinya, meski ukuran yang tepat dapat bervariasi menurut kompiler dan arsitektur.


Menggunakan Enum untuk Flag

Enum unggul dalam mewakili flag ketika setiap konstanta adalah distinct power of two. Ini memungkinkan Anda untuk menggabungkan flag dengan bitwise OR dan mengujinya dengan bitwise AND.

 #include <stdio.h> enum designFlags {ITALICS = 1, BOLD = 2, UNDERLINE = 4} button; 

Karena nilai-nilai adalah power of two:

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

Anda dapat menggabungkannya:

 #include <stdio.h> enum designFlags {BOLD = 1, ITALICS = 2, UNDERLINE = 4}; int main() { int myDesign = BOLD | UNDERLINE; // 00000001 | 00000100 = 00000101 printf("%d", myDesign); return 0; } 

Output

5

Output 5 menunjukkan bahwa BOLD dan UNDERLINE aktif.

Untuk memeriksa flag tertentu:

 if (myDesign & ITALICS) { // handle italics } 

Sementara Anda dapat mencapai banyak hasil tanpa enum, mereka menyediakan cara yang andal dan aman tipe untuk mengelola konstanta terkait—terutama untuk operasi flag.


Bahasa C

  1. C# Hello World – Membangun Aplikasi C# Pertama Anda
  2. Memahami Kata Kunci dan Pengidentifikasi C#: Aturan, Daftar, dan Praktik Terbaik
  3. Menguasai Variabel dan Tipe Data Primitif C#: Panduan Lengkap
  4. Operator C# – Panduan Lengkap tentang Operator dalam C#
  5. Menguasai Operator Bitwise dan Bit Shift C#: Panduan Komprehensif
  6. Dasar-Dasar C#: Esensial Input dan Output
  7. Ekspresi, Pernyataan, dan Blok C#: Panduan Komprehensif dengan Contoh Praktis
  8. Menguasai Komentar C#: Jenis, Praktik Terbaik, dan Dokumentasi XML
  9. Menguasai Pernyataan Switch C#: Sintaks, Contoh, dan Praktik Terbaik
  10. Operator Ternary C#: Panduan Ringkas untuk Ekspresi Kondisional