English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá a programar C com enum (枚举) através de exemplos.
No programação C, o tipo enum (também conhecido como enum) é um tipo de dados composto por constantes inteiros. Para definir um enum, será usado a palavra-chave enum.
enum flag {const1, const2, ..., constN};
Padrão const1Para 0, const2Para1Seguindo isso. Você pode alterar o valor padrão do elemento enum durante a declaração (se necessário).
//Alterar o valor padrão do constante enum enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, };
Ao definir o tipo enum, será criado o plano da variável. A seguir, será apresentado como criar uma variável do tipo enum.
enum boolean {false, true}; enum boolean check; // Declarar uma variável enum
Aqui, será criado o variável enum booleano check.
Você também pode declarar variáveis enum assim.
enum boolean {false, true} check;
Aqui, o valor de false é 0, o valor de true é1.
#include <stdio.h> enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}; int main() { //Criar variável today do tipo enum week enum week today; today = Wednesday; printf("Day %d", today+1); return 0; }
Resultados de saída
Day 4
As variáveis enum podem adotar apenas um valor. Este é um exemplo de demonstração,
#include <stdio.h> enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3 } card; int main() { card = club; printf("tamanho do enum variável = %d bytes", sizeof(card)); return 0; }
Resultados de saída
tamanho do enum variável = 4 bytes
Aqui, obtemos4porque o tamanho do int é4bytes.
Vamos dar um exemplo
enum designFlags { ITALICS = 1, BOLD = 2, UNDERLINE = 4 } botão;
Suponha que você esteja projetando um botão para aplicativo Windows. Você pode definir os sinalizadores ITALICS, BOLD e UNDERLINE para lidar com texto.
No código pseudocódigo acima, todos os constantes de integração são2as potências têm um motivo.
//usando binário ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Devido ao constante de integração ser2potências, permitindo combinar dois ou mais sinalizadores em uma vez, sem usarbitwise OR |operadores bitwise para sobrepor. Isso permite que você selecione dois ou mais sinalizadores ao mesmo tempo. Por exemplo,
#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; }
Resultados de saída
5
Quando a saída for5Neste momento, você sempre sabe que está usando negrito e sublinhado.
Além disso, você pode adicionar sinalizadores conforme necessário.
if (myDesign & ITALICS) { //Itálico }
Aqui, adicionamos itálico no design. Note que apenas o código itálico é escrito dentro da sentença if.
Você não precisa usar enum para completar quase todas as tarefas na programação C, mas elas podem ser muito convenientes em algumas situações.