C enums
C enums
En este tutorial, aprenderá sobre enum (enumeración) en programación C con la ayuda de ejemplos.
En programación C, un tipo de enumeración (también llamado enum) es un tipo de datos que consta de constantes integrales. Para definir enumeraciones, el enum
se utiliza la palabra clave.
enum flag {const1, const2, ..., constN};
Por defecto, const1 es 0, const2 es 1 y así sucesivamente. Puede cambiar los valores predeterminados de los elementos de enumeración durante la declaración (si es necesario).
// Changing default values of enum constants enum suit { club = 0, diamonds = 10, hearts = 20, spades = 3, };
Declaración de tipo enumerado
Cuando define un tipo de enumeración, se crea el proyecto para la variable. Así es como puede crear variables de tipos de enumeración.
enum boolean {false, true}; enum boolean check; // declaring an enum variable
Aquí, una variable verificar del tipo enum boolean
se crea.
También puede declarar variables de enumeración como esta.
enum boolean {false, true} check;
Aquí, el valor de false
es igual a 0 y el valor de true
es igual a 1.
Ejemplo:Tipo de enumeración
#include <stdio.h>
enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
int main()
{
// creating today variable of enum week type
enum week today;
today = Wednesday;
printf("Day %d",today+1);
return 0;
}
Salida
Day 4
¿Por qué se usan las enumeraciones?
Una variable de enumeración solo puede tomar un valor. Aquí hay un ejemplo para demostrarlo,
#include <stdio.h>
enum suit {
club = 0,
diamonds = 10,
hearts = 20,
spades = 3
} card;
int main()
{
card = club;
printf("Size of enum variable = %d bytes", sizeof(card));
return 0;
}
Salida
Size of enum variable = 4 bytes
Aquí, estamos obteniendo
4
porque el tamaño de int
es de 4 bytes.
Esto hace que enum sea una buena opción para trabajar con indicadores.
¿Cómo usar enumeraciones para las banderas?
Tomemos un ejemplo,
enum designFlags {
ITALICS = 1,
BOLD = 2,
UNDERLINE = 4
} button;
Suponga que está diseñando un botón para una aplicación de Windows. Puede establecer banderas ITALICS , NEGRITA y SUBAJO para trabajar con texto.
Hay una razón por la que todas las constantes integrales son una potencia de 2 en el pseudocódigo anterior.
// In binary ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100
Dado que las constantes integrales son una potencia de 2, puede combinar dos o más banderas a la vez sin superponerse utilizando OR bit a bit | operador. Esto le permite elegir dos o más banderas a la vez. Por ejemplo,
#include <stdio.h>
enum designFlags {
BOLD = 1,
ITALICS = 2,
UNDERLINE = 4
};
int main() {
int myDesign = BOLD | UNDERLINE;
// 00000001
// | 00000100
// ___________
// 00000101
printf("%d", myDesign);
return 0;
}
Salida
5
Cuando la salida es 5, siempre sabe que se usa negrita y subrayado.
Además, puede agregar banderas según sus requisitos.
if (myDesign & ITALICS) { // code for italics }
Aquí, hemos agregado cursiva a nuestro diseño. Tenga en cuenta que solo el código para cursiva está escrito dentro del if
declaración.
Puede lograr casi cualquier cosa en la programación C sin usar enumeraciones. Sin embargo, pueden ser bastante útiles en ciertas situaciones.
Lenguaje C
- C# Hello World:su primer programa en C#
- Identificadores y palabras clave de C#
- Variables de C# y tipos de datos (primitivos)
- Operadores de C#
- Operadores C# Bitwise y Bit Shift
- Entrada y salida básica de C#
- Expresiones, declaraciones y bloques de C# (con ejemplos)
- Comentarios de C#
- Declaración de cambio de C#
- C# ternario (? :) Operador
- Declaración de interrupción de C#