English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de lenguaje C

Control de flujo de lenguaje C

Funciones en C

Arreglos en C

Punteros en C

Cadenas en C

Estructura de lenguaje C

Archivo de lenguaje C

C Otros

Manual de referencia de C

Enumeraciones (enum) en C

En este tutorial, aprenderá a utilizar ejemplos para aprender sobre enum (enumeración) en la programación en C.

En la programación en C, el tipo de enumeración (también conocido como enum) es un tipo de datos compuesto por constantes enteras. Para definir un enum, se utiliza la palabra clave enum.

enum flag {const1, const2, ..., constN};

Por defecto const1Para 0, const2Para1Y así sucesivamente. Puede cambiar el valor predeterminado de los elementos de enumeración durante la declaración (si es necesario).

//Cambiar el valor predeterminado de la constante enum
enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3,
};

Declaración de tipo enum

Al definir un tipo enum, se crea el plano de la variable. A continuación, se describe cómo crear una variable de tipo enum.

enum booleano {falso, verdadero};
enum booleano check; // Declarar una variable de enumeración

Aquí, se creará la variable de tipo enum booleano check.

También puede declarar variables de enumeración de esta manera.

enum boolean {false, true} check;

Aquí, el valor de false es 0, el valor de true es1.

Ejemplo: tipo de enumeración

#include <stdio.h>
enum week {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
int main()
{
    //Crear el variable today del tipo de enumeración week
    enum week today;
    today = Wednesday;
    printf("Day %d", today+1);
    return 0;
}

Resultado de salida

Day 4

¿Por qué usar enumeraciones?

El variable de enumeración solo puede tomar un valor. Este es un ejemplo de demostración,

#include <stdio.h>
enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3
} card;
int main() 
{
    card = club;
	printf("Tamaño del variable de enumeración = %d bytes", sizeof(card));	
	return 0;
}

Resultado de salida

Tamaño del variable de enumeración = 4 bytes

Aquí, obtenemos4Debido a que el tamaño de int es4de bytes.

¿Cómo usar una enumeración para marcas?

Vamos a dar un ejemplo

enum designFlags {
	ITALICS = 1,
	BOLD = 2,
	UNDERLINE = 4
} button;

Supongamos que está diseñando un botón para una aplicación de Windows. Puede establecer las marcas ITALICS, BOLD y UNDERLINE para manejar el texto.

En el código pseudocódigo anterior, todos los constantes de integración son2La razón de la potencia es

//en binario
ITALICS = 00000001
BOLD = 00000010
UNDERLINE = 00000100

Debido a que el constante de integración es2de potencias, por lo que se pueden combinar dos o más marcas de manera simultánea sin usarOR |Los operadores de bits se superponen. Esto permite seleccionar dos o más marcas 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;
}

Resultado de salida

5

Cuando la salida es5En ese momento, siempre sabe si se usaron negrita y subrayado.

Además, puede agregar marcas según sea necesario.

if (myDesign & ITALICS) {
    //Cursiva
}

Aquí, hemos agregado cursiva en el diseño. Nota que solo se escribe código cursiva dentro de la sentencia if.

No es necesario usar enumeraciones para completar prácticamente todas las tareas en la programación en C. Sin embargo, pueden ser muy útiles en ciertas situaciones.