El concepto, características y cálculo del consorcio.

Tabla de contenido

Personalización de la Commonwealth

características conjuntas

Cálculo de la Commonwealth


Personalización de la Commonwealth

Una unión es un tipo personalizado especial. Las variables definidas por este tipo también contienen una serie de miembros. La característica es que estos miembros comparten el mismo espacio (por eso la unión también se llama unión). Por ejemplo el siguiente código

//联合类型的声明
union Un
{
    char c;
    int i;
};

//联合变量的定义
union Un un;
//计算这个变量的大小
printf("%d\n",sizeof(un));

Las direcciones de los miembros de la unión son las mismas, pero pueden ocupar diferentes tamaños de bytes.

Un sindicato sólo puede utilizar un miembro a la vez.

características conjuntas

Los miembros de una unión comparten el mismo espacio de memoria, por lo que el tamaño de una variable de unión es al menos el tamaño del miembro más grande, de modo que la unión pueda al menos guardar al miembro más grande.

Determinar el tamaño y la endianidad de la computadora actual.

int main()
{
    int a = 1;
    if(*(char *)&a == 1)
        printf("小端");
    else
        printf("大端");
    return 0;
}

//利用联合体进行判断大小端,因为是要利用int类型的第一个字节进行判断
int panduan()
{
	union Un
	{
		char c;
		int a;
	}u;
	u.a = 1;
	//if (u.c == 1)
	//{
	//	return 1;
	//}
	//else
	//{
	//	return 0;
	//}
    reuturn u.c;
}


int main()
{
	int ret;
	ret = panduan();
	if (ret == 1)
	{
		printf("小端");
	}
	else
	{
		printf("大端");
	}
	return 0;
}

Cálculo de la Commonwealth

A diferencia de las estructuras, las uniones generalmente ocupan el mayor byte de memoria entre los miembros, que es el tamaño de la unión, pero el tamaño de la unión también es un múltiplo entero del número máximo de alineación entre los miembros.

Supongo que te gusta

Origin blog.csdn.net/2301_77868664/article/details/130674455
Recomendado
Clasificación