English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico de Linguagem C

Controle de Fluxo de Linguagem C

Funções C

Matrizes C

Ponteiros C

Strings C

Estrutura de Linguagem C

Arquivo de Linguagem C

Outros C

Manual de Referência do C

Enumerado (enum) C

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,
};

Declaração do tipo enum

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.

Exemplo: tipo enum

#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

Por que usar enum?

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.

Como usar enum para sinalizadores?

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.