O tipo enum ou enumerador que é composto de um ou mais constantes que são declaradas como seus membros.
Se os membros não forem iniciados, os valor inteiros 0 a N - 1, serão associado de forma sequencial.
Se um membro for iniciado com valor, os membros seguintes sem terão seus valores baseados no membro anteriormente
iniciado, sendo incrementando em 1. Os membros não precisam ter valores sequenciais.
A declaração de um enum e de uma variável do tipo enum são feita de acordo com as sintaxes abaixo:
Sintaxe
enum nome_enum
{
MEMBRO1, //0 padrão
MEMBRO2,
MEMBRON //N
};
enum nome_enum
{
MEMBRO1 = 10,
MEMBRO2 = 100,
MEMBRON = 25
};
enum nome_enum nome_variavel;
enum nome_enum nome_variavel = NOME_MEMBRO;
Por serem constantes os membros de um enumerador, por boa práticas, seus nomes são declarados em caixa alta.
O acesso aos membros de um enum, diferente de unions e struct, é feito pelo seu próprio nome do membro:
Sintaxe
NOME_MEMBRO
Exemplo 1
#include <stdio.h>
enum cor
{
NENHUM, VERDE, AMARELO, AZUL, BRANCO
};
int main ()
{
enum cor cor_carro = BRANCO;
printf("%d", cor_carro);
return 0;}
Saída
4