C enum (enumeração)

Neste tutorial, você aprenderá sobre enum (enumeração) na programação C com a ajuda de exemplos.

Na programação C, um tipo de enumeração (também chamado de enum) é um tipo de dados que consiste em constantes inteiras. Para definir enums, a enumpalavra-chave é usada.

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

Por padrão, const1 é 0, const2 é 1 e assim por diante. Você pode alterar os valores padrão dos elementos enum durante a declaração (se necessário).

 // Alterar os valores padrão das constantes enum enum suit (clube = 0, diamantes = 10, copas = 20, espadas = 3,);

Declaração de tipo enumerado

Quando você define um tipo de enum, o blueprint para a variável é criado. Veja como você pode criar variáveis ​​de tipos enum.

enum boolean (falso, verdadeiro); enum boolean check; // declarando uma variável enum

Aqui, uma verificação de variável do tipo enum booleané criada.

Você também pode declarar variáveis ​​enum como esta.

 verificação enum boolean (falso, verdadeiro); 

Aqui, o valor de falseé igual a 0 e o valor de trueé igual a 1.

Exemplo: tipo de enumeração

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

Resultado

 Dia 4

Por que enums são usados?

Uma variável enum pode ter apenas um valor. Aqui está um exemplo para demonstrar isso,

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

Resultado

 Tamanho da variável enum = 4 bytes

Aqui, estamos obtendo 4 porque o tamanho de inté 4 bytes.

Isso torna enum uma boa escolha para trabalhar com sinalizadores.

Como usar enums para sinalizadores?

Vamos dar um exemplo,

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

Suponha que você esteja criando um botão para um aplicativo do Windows. Você pode definir sinalizadores ITALICS, BOLD e UNDERLINE para trabalhar com texto.

Há uma razão pela qual todas as constantes integrais são uma potência de 2 no pseudocódigo acima.

 // Em binário ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Uma vez que as constantes integrais são uma potência de 2, você pode combinar dois ou mais sinalizadores de uma vez sem sobrepor usando bit a bit OR | operador. Isso permite que você escolha dois ou mais sinalizadores de uma vez. Por exemplo,

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

Resultado

 5

Quando a saída é 5, você sempre sabe que negrito e sublinhado são usados.

Além disso, você pode adicionar sinalizadores de acordo com seus requisitos.

 if (myDesign & ITALICS) (// codificar para itálico)

Aqui, adicionamos itálico ao nosso design. Observe, apenas o código para itálico é escrito dentro da ifinstrução.

Você pode realizar quase tudo na programação C sem usar enumerações. No entanto, eles podem ser muito úteis em certas situações.

Artigos interessantes...