C · Essencial · Inglês · Técnico
enum
Tipo que define um conjunto de constantes inteiras com nome. Em C, os enumeradores são só valores int, então o compilador não impede atribuir qualquer inteiro a uma variável enum.
Onde usar
Usado para estados, códigos de erro e opções, no lugar de números mágicos espalhados. Num switch sobre enum, o gcc avisa de casos esquecidos com -Wswitch.
Em código
enum cor { VERMELHO, VERDE, AZUL };
enum cor c = VERDE;
switch (c) {
case VERMELHO: puts("r"); break;
case VERDE: puts("g"); break;
case AZUL: puts("b"); break;
}Exemplos
Let's use an enum instead of magic numbers.
Vamos usar um enum no lugar de números mágicos.
The switch over the enum is missing one case.
O switch sobre o enum está sem um dos casos.
Cuidado
Achar que enum é um tipo seguro como em outras linguagens: valores fora da lista passam sem erro.
Sinônimos
enumeração
Origem
Abreviação de enumeration.