Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

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

  1. C# Hello World - Seu primeiro programa em C#
  2. Palavras-chave e identificadores C#
  3. Variáveis ​​C# e tipos de dados (primitivos)
  4. Operadores C#
  5. Operadores C# Bitwise e Bit Shift
  6. Entrada e saída básica em C#
  7. Expressões, instruções e blocos em C# (com exemplos)
  8. Comentários em C#
  9. Instrução C# switch
  10. C# ternário (? :) Operador