Las uniones permiten almacenar diferentes tipos de datos en la misma ubicación de memoria, solapándose unos con otros. Esto permite ahorrar espacio en memoria al almacenar los miembros de una unión en el mismo espacio que ocupa el miembro más largo. Cada vez que se asigna un valor a un miembro diferente, se sobrescribe el valor almacenado anteriormente en esa ubicación.
1. UNIONES
Las uniones son similares a las estructuras, con la diferencia de que en las
uniones se almacenan en los campos solapándose unos con otros en la misma
disposición; al contrario que en las estructuras, al contrario que en las
estructuras, donde los campos se almacenan unos a continuación de otros. En
esencia, las uniones sirven para ahorrar espacio en memoria. Para Almacenar
los miembros de una unión, se requiere una zona de memoria igual a la que
ocupa el miembro mas largo de la unión. Todos los miembros son
almacenados en el mismo espacio de memoria y comienzan en la misma
dirección. El valor almacenado es sobreeescrito cada vez que se asigna un
valor al mismo miembro o a un miembro diferente, aquí radica la diferencia
con las estructuras.
2. #include "iostream"
#include "conio2.h"
#include "stdio.h"
#include "string.h"
using namespace std;
main()
{
clrscr();
union
{
int valor; //este es la primera parte de la union
struct
{
char primero; //esta es la segunda parte de la union
char segundo;
}
mitad;
}
numero;
long indice;
for (indice=12;indice<300;indice+=35)
{
numero.valor=indice;
cout<<"n"<<numero.valor,numero.mitad.primero,numero.mitad.segundo;
}
getch();
return 0;
}
3. En éste ejemplo tenemos dos elementos en la unión, la primera parte es el entero llamado
valor el cual es almacenado en algún lugar de la memoria de la computadora como una
variable de dos bytes. El segundo elemento está compuesto de dos variables de tipo char
llamadas primero y segundo. Estas dos variables son almacenadas en la misma ubicación de
almacenamiento que valor porque ésto es precisamente lo que una unión hace, le permite
almacenar diferentes tipos de datos en la misma ubicación física. En éste caso Usted puede
poner un valor de tipo entero en valor y después recobrarlo en dos partes utilizando primero y
segundo, ésta técnica es utilizada a menudo para empaquetar bytes cuando, por ejemplo,
combine bytes para utilizarlos en los registros del microprocesador. La unión no es utilizada
frecuentemente y casi nunca por programadores principiantes, en este momento no necesita
profundizar en el empleo de la unión así que no dedique mucho tiempo a su estudio, sin
embargo no tome a la ligera el concepto de la unión, podría utilizarlo a menudo.