Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Una unión es un tipo de dato compuesto formado por varios campos (como una estructura) que comparten la misma área de memoria. El tamaño de la unión debe ser al menos el necesario para albergar a su campo más grande. Sólo un miembro de la estructura puede ser almacenado y referenciado en un momento dado. Ocupan la misma área de memoria. Por lo tanto, sólo puede haber un valor por vez El valor inicial indicado en la declaración debe ser del tipo del primer miembro El valor de x se pierde al indicar un valor para y El valor 10 ya no está almacenado en x Las operaciones válidas son › Asignar una unión a otra unión del mismo tipo. › Obtener la dirección de una unión mediante el operador &. › Acceder a los elementos de la unión. El nombre de una persona se puede almacenar como › Una cadena de caracteres de long.30. › Una cadena de caracteres de longitud 10. › Sólo con la inicial. Defina la estructura de datos más adecuada UnionPersona.c UnionPersona.c Defina una estructura de datos que permita representar la información de una persona que puede ser Alumno › Nombre de la carrera › Porcentaje de materias aprobadas Empleado › Nombre de la empresa › Sueldo › Años de antigüedad Ope- rador Operación Descripción & AND Los bits en el resultado serán 1 si los bits correspondientes en ambos operandos también lo son. | OR Los bits en el resultado serán 1 si al menos 1 de los bits correspondientes en los dos operandos es 1. ^ OR exclusivo Los bits en el resultado serán 1 si exactamente 1 de los bits correspondientes en los dos operandos es 1. Ope- rador Operación Descripción << Desplazamien- to a izquierda Desplaza los bits del primer operando hacia la izquierda en el número de bits especificado por el segundo operando. Rellena por la derecha con bits 0. >> Desplazamien- to a derecha Idem anterior desplazando a derecha y rellenando por izquierda ~ Complemento a 1 Todos los bits 0 se definen a 1 y todos los bits 1 se definen a cero. Mascara 10000000 00000000 Desplaza los bits de v un lugar a la izquierda y completa el bit de más a la derecha con 0 Valdrá 0x8000 si el bit más a la izquierda de v vale 1 y 0x0000 si no. OperBits1.c Ope- rador Operación Ejemplo Equivale a &= AND nro1 &= nro2 nro1 = nro1 & nro2 |= OR nro1 |= nro2 nro1 = nro1 | nro2 ^= OR exclusivo nro1 ^= nro2 nro1 = nro1 ^ nro2 <<= Desplazamiento a izquierda nro1 <<= 5 nro1 = nro1 << 5 >>= Desplazamiento a derecha nro1 >>= 5 nro1 = nro1 >> 5 En C es posible especificar el número de bits en el cual se almacena un miembro unsigned o int de una estructura o de una unión, denominados campos de bits Los campos de bits permiten mejorar el uso de memoria almacenando datos en el mínimo número de bits requeridos. Los miembros de campos de bits deben ser declarados como int o unsigned. Ejemplo Los campos se acceden de la manera convencional. Una enumeración es una lista de constantes enteras representadas por identificadores. Se indica mediante la palabra reservada enum. El primer elemento de la lista se inicia con 0, a menos que se indique de otra manera. Se incrementan en 1. Imprime los números del 2 al 10 Puede modificarse el valor inicial
Compartir