Explicación detallada de la enumeración y unión del lenguaje C

 

 

¡ Este artículo trae una explicación detallada del conocimiento relacionado con la enumeración y la unión !

Si cree que el artículo es bueno, espero sus tres enlaces de un clic. Su aliento es la fuente de motivación para mi creación. ¡Trabajemos juntos, corramos juntos y nos reunamos en la cima! ! !


Tabla de contenido

1. Enumeración

1. ¿Qué es una enumeración?

2. Definición del tipo de enumeración

3. Ventajas de la enumeración

4. Uso de la enumeración

2. Consorcio (comunidad)

1. Definición del tipo de unión

2. El diseño de la memoria y las características de la unión.

Ejemplo de preguntas de entrevista:

Código de referencia y análisis

 3. Cálculo del tamaño de la junta


1. Enumeración

1. ¿Qué es una enumeración?

La enumeración, como su nombre lo indica, es enumerar uno por uno
Enumere todos los valores posibles
Por ejemplo en nuestra vida real:
Solo hay 7 días en una semana de lunes a domingo, que se pueden enumerar uno por uno
Género: masculino, femenino, confidencial, también puede enumerarlos uno por uno
Hay 12 meses en el mes, y también puede enumerarlos uno por uno
Las enumeraciones se pueden utilizar aquí.

2. Definición del tipo de enumeración

Por ejemplo: 

en:

enum Day , enum Sex , enum Color definidos arriba son todos los tipos de enumeración
El contenido en { } es el valor posible del tipo de enumeración, también llamado constante de enumeración 
Estos posibles valores son todos válidos, empezando por 0 por defecto y aumentando a su vez en 1. Por supuesto, el valor inicial también se puede asignar al declarar el tipo de enumeración.
Por ejemplo:
 
 

verificar: 

 

También puede asignar un valor inicial al declarar un tipo de enumeración

como:

verificar: 

Cuando se asignan algunas constantes de enumeración, el tamaño de otros valores

Por ejemplo:

verificar:

 

3. Ventajas de la enumeración

Podemos usar #define para definir constantes, ¿por qué usar enumeraciones?
Ventajas de las enumeraciones:
1. Aumentar la legibilidad y mantenibilidad del código
2. En comparación con el identificador definido por #define, la enumeración tiene verificación de tipo, que es más rigurosa.
3. Fácil de depurar
4. Fácil de usar, puede definir múltiples constantes a la vez

4. Uso de la enumeración

2. Consorcio (comunidad)

1.  Definición del tipo de junta

Las uniones también son un tipo personalizado especial.
Las variables definidas por este tipo también contienen una serie de miembros, caracterizados por el hecho de que estos miembros comparten el mismo espacio (por lo que las uniones también se denominan uniones)
Por ejemplo:

 

 

unión Un es un tipo de unión;

n es una variable de unión creada con este tipo;

2. El diseño de la memoria y las características de la unión.


 

 analizar:

característica:

Porque la característica de la unión es que estos miembros comparten el mismo espacio, pero si desea poder almacenar estas variables de unión, si solo abre el tamaño del tipo char, entonces el valor de a no se puede almacenar. Por lo tanto, el tamaño de dicha variable conjunta es al menos el tamaño del miembro más grande (porque la unión debe tener al menos la capacidad de salvar al miembro más grande)

Nota: Solo se puede usar uno a la vez para miembros del sindicato;


Un ejemplo de un código de función de unión: 

Ejemplo de preguntas de entrevista:

Determine el tamaño y el almacenamiento endian de la computadora actual

Código de referencia y análisis:

union Un
{
	int a;
	char c;
};
int main()
{
	union Un n;
	n.a = 1;

	if (n.c == 1) 
	{
		printf("小端存储\n");
	}
	else
	{
		printf("大端存储\n");
	}
	return 0;
}

analizar: 

resultado de la operación:

 3. Cálculo del tamaño de la junta

El tamaño de la unión es al menos el tamaño del miembro más grande.

Cuando el tamaño máximo del miembro no es un múltiplo entero del número de alineación máximo, debe alinearse con un múltiplo entero del número de alineación máximo
Por ejemplo:

 analizar:

 verificar:

 

final de este capitulo~


Supongo que te gusta

Origin blog.csdn.net/2301_77509762/article/details/132003574
Recomendado
Clasificación