Las uniones son variables que se definen exactamente como las estructuras pero a diferencia de ellas, sus elementos se almacenan en un solo registro variable que puede recibir miembros de tipos diversos (entero, real o alfanumérico) en la misma localidad de memoria. El tamaño de la localidad de memoria deberá permitir almacenar al mas grande de los miembros de la unión.
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Según el esquema anterior el tamaño0
máximo de la unión debe alcanzar 8 bytes para una localidad
de memoria única y no cuatro como en el caso de la estructura. De
esa forma cuando se emplea un miembro su valor reemplaza al anterior y
así cada vez que se emplea un miembro diferente. por ejemplo:
| unión
generación =
{ int anio; char nombre[8]; char carrera[8]; int teléfono; }; unión generación gen_95,gen96; |
En el que se declara las variables denominadas gen_95 y gen_96 que almacenarán a cualquiera de los cuatro miembros cuando se utilice en el programa según la secuencia que indique el algoritmo que se resuelva, es decir se deberá tener conocimiento sobre el miembro que esta en la unión en el momento dado, de tal manera que obtengan los resultados deseados.
