MEJOR SITIO PARA DESARROLLADORES WEB
C Idioma. W3Schools en español. Lecciones para principiantes

Ua En De

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.