7.6) La estructura union.
     

     Existe en C una estructura para almacenar datos muy parecida al struct en su definición, pero muy diferente en comportamiento, la definición es:
     
     
     

       

     

    donde:
     
     

       
      union: es una palabra reservada de C, la cual indica que los elementos que vienen a continuación entre llaves componen una estructura de tipo union.
       
      nombre_union: identifica al tipo de dato que se está describiendo. Servirá para declarar variables de esta union. Viene entre corchetes para indicar su opcionalidad.
       
      miembro1, miembro2: Son los elementos que componen la estructura union, deben de ser antecedidos por el tipo_dato al cual pertenecen.

       
       
       
     Todo lo dicho hasta ahora nos indica que es igual que un struct pero con la diferencia de la palabra reservada union. La diferencia, sin embargo, es que una variable declarada de un tipo union sólo podrá albergar uno de los miembros de la lista incluida en la declaración de tipo. El compilador nos va a reservar para estos tipos union, un espacio correspondiente al miembro del mayor tamaño en función del tamaño de los mismos, y todos los miembros apuntarán a esa dirección de memoria.
     
     
     
     

     Ejemplo: En este ejemplo mostramos el guardado de un número, que puede ser entero o real, empleando un tipo de datos union: