Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

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

  1. C# Hello World:su primer programa en C#
  2. Identificadores y palabras clave de C#
  3. Variables de C# y tipos de datos (primitivos)
  4. Operadores de C#
  5. Operadores C# Bitwise y Bit Shift
  6. Entrada y salida básica de C#
  7. Expresiones, declaraciones y bloques de C# (con ejemplos)
  8. Comentarios de C#
  9. Declaración de cambio de C#
  10. C# ternario (? :) Operador
  11. Declaración de interrupción de C#