En lenguaje C, ¿hay alguna forma de recorrer los tipos de enumeración?
Pero en algunos casos especiales, se puede lograr un recorrido condicional.
1 Los tipos de enumeración deben ser continuos.
Porque los tipos de enumeración admiten las siguientes definiciones:
Tipo de enumeración
{
Enumeración_0,
ENUM_10 = 10,
ENUM_11
};
Esto dará como resultado un tipo de enumeración discontinua que no se puede atravesar.
2 Agregue artificialmente etiquetas de inicio y fin en el tipo de enumeración.
Tipo de enumeración
{
Inicio de enumeración,
Enumeración_0,
ENUM_1,
Enumeration_2,
Enumeration_End
};
Se puede ver que en este tipo de enumeración, ENUM_START y ENUM_END se agregaron manualmente. Los ENUM_0, ENUM_1 y ENUM_2 en el medio son datos válidos reales. Cuando necesite agregar o eliminar elementos de enumeración más adelante, también debe asegurarse de que ENUM_START y ENUM_END sean los valores mínimo y máximo respectivamente.
Si se cumplen las dos condiciones anteriores, puede recorrer la enumeración. El código de referencia es el siguiente:
int I
for(I = ENUM; _ START +1;i<ENUM_ENDi++)
{
//Usar elementos de enumeración.
}
En este bucle, el valor de I son todos los valores válidos de los elementos de enumeración.