C enums
C enums
Neste tutorial, você aprenderá sobre enum (enumeração) em programação C com a ajuda de exemplos.
Na programação C, um tipo de enumeração (também chamado enum) é um tipo de dados que consiste em constantes integrais. Para definir enums, o enum
palavra-chave é usada.
enum flag {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).
// Changing default values of enum constants enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, };
Declaração de tipo enumerado
Quando você define um tipo de enumeração, o blueprint para a variável é criado. Veja como você pode criar variáveis de tipos enum.
enum boolean {false, true}; enum boolean check; // declaring an enum variable
Aqui, uma variável check do tipo
enum boolean
é criado. Você também pode declarar variáveis de enumeração como esta.
enum boolean {false, true} check;
Aqui, o valor de
false
é igual a 0 e o valor de true
é igual a 1. Exemplo:tipo de enumeração
#include <stdio.h>
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;
}
Saída
Day 4
Por que enums são usados?
Uma variável de enumeração pode ter apenas um valor. Aqui está um exemplo para demonstrá-lo,
#include <stdio.h>
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;
}
Saída
Size of enum variable = 4 bytes
Aqui, estamos recebendo 4 porque o tamanho de
int
é 4 bytes. Isso torna o enum uma boa opção para trabalhar com sinalizadores.
Como usar enums para sinalizadores?
Tomemos um exemplo,
enum designFlags {
ITALICS = 1,
BOLD = 2,
UNDERLINE = 4
} button;
Suponha que você esteja projetando um botão para o aplicativo Windows. Você pode definir sinalizadores ITÁLICOS , BOLD e sublinhado trabalhar com texto.
Há uma razão pela qual todas as constantes integrais são uma potência de 2 no pseudocódigo acima.
// In binary ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Como as constantes integrais são uma potência de 2, você pode combinar dois ou mais sinalizadores de uma só vez sem sobrepor usando OR bit a bit | operador. Isso permite que você escolha dois ou mais sinalizadores de uma só vez. 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;
}
Saída
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 suas necessidades.
if (myDesign & ITALICS) { // code for italics }
Aqui, adicionamos itálico ao nosso design. Observe que apenas o código para itálico é escrito dentro do
if
declaração. Você pode realizar quase tudo na programação C sem usar enumerações. No entanto, eles podem ser bastante úteis em determinadas situações.
Linguagem C
- C# Hello World - Seu primeiro programa em C#
- Palavras-chave e identificadores C#
- Variáveis C# e tipos de dados (primitivos)
- Operadores C#
- Operadores C# Bitwise e Bit Shift
- Entrada e saída básica em C#
- Expressões, instruções e blocos em C# (com exemplos)
- Comentários em C#
- Instrução C# switch
- C# ternário (? :) Operador