C Enumeración (enum)
C Enumeraciones
Una enum es un tipo especial que representa un grupo de constantes (valores no modificables).
Para crear una enumeración, utilice la palabra clave enum
, seguida del nombre de la enumeración y separe los elementos de la enumeración con una coma:
enum Level {
LOW,
MEDIUM,
HIGH
};
Tenga en cuenta que el último elemento no necesita coma.
No es obligatorio utilizar mayúsculas, pero a menudo se considera una buena práctica.
Enum es la abreviatura de "enumeraciones", que significa "específicamente enumerados".
Para acceder a la enumeración, debe crear una variable de la misma.
Dentro del método main()
, especifique la palabra clave enum
, seguida del nombre de la enumeración (Level
) y luego el nombre de la variable de enumeración (myVar
en este ejemplo):
enum Level myVar;
Ahora que ha creado una variable de enumeración (myVar
), puede asignarle un valor.
El valor asignado debe ser uno de los elementos dentro de la enumeración (LOW
, MEDIUM
o HIGH
):
enum Level myVar = MEDIUM;
De forma predeterminada, el primer elemento (LOW
) tiene el valor 0
, el segundo (MEDIUM
) tiene el valor 1
, etc.
Si ahora intenta imprimir myVar, generará 1
, que representa MEDIUM
:
int main() {
// Cree una variable de enumeración y asígnele un valor
enum Level myVar = MEDIUM;
// Imprimir la variable de enumeración
printf("%d", myVar);
return 0;
}
Inténtalo tú mismo »
Cambiar valores
Como sabes, el primer elemento de una enumeración tiene valor 0. El segundo tiene valor 1, y así sucesivamente.
Para que los valores tengan más sentido, puedes cambiarlos fácilmente:
enum Level {
LOW = 25,
MEDIUM = 50,
HIGH = 75
};
printf("%d", myVar); // Now outputs 50
Inténtalo tú mismo »
Tenga en cuenta que si asigna un valor a un elemento específico, los siguientes elementos actualizarán sus números en consecuencia:
enum Level {
LOW = 5,
MEDIUM, // Ahora 6
HIGH // Ahora 7
};
Inténtalo tú mismo »
Enum en una declaración de cambio
Las enumeraciones se utilizan a menudo en sentencias de cambio para comprobar los valores correspondientes:
enum Level {
LOW = 1,
MEDIUM,
HIGH
};
int main() {
enum Level myVar = MEDIUM;
switch (myVar) {
case 1:
printf("Low Level");
break;
case 2:
printf("Medium level");
break;
case 3:
printf("High level");
break;
}
return 0;
}
Inténtalo tú mismo »
¿Por qué y cuándo utilizar enumeraciones?
Las enumeraciones se utilizan para dar nombres a las constantes, lo que hace que el código sea más fácil de leer y mantener.
Utilice enumeraciones cuando tenga valores que sepa que no van a cambiar, como los días del mes, los días, los colores, la baraja de cartas, etc.