Tema: ¿ union ?
Ver Mensaje Individual
  #3  
Antiguo 01-03-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Reputación: 23
AzidRain Va camino a la fama
union es un tipo de datos de C muy similar a struct. La definición "canónica" union es:
Cita:
Las uniones son estructuras de datos que permiten que una misma porción de memoria se accedida por un número diferente de tipos de datos, debido a que de hecho todos ellos se encuentran en la misma ubicación de memoria. Su declaración y uso es similar al de struct pero su funcionalidad es totalmente diferente
Aqui tienes un ejemplo:

Todos los elementos de una union ocupan el mismo espacio físico en memoria, de manera que el espacio total que ocupa la union es el del elemento de mayor tamaño:
Código:
union mytypes_t {
  char c;
  int i;
  float f;
  } mytypes;
define tres elementos:
Código:
mytypes.c
mytypes.i
mytypes.f
cada uno con diferente tipo de datos. Debido a que todos se refieren a la misma ubicación en memoria, la modificación de uno de los elementos afectará el valor de todos. No podemos almacenar valores independientes en cada elemento.

Por eso se llama union, si cambias un campo cambias el otro en automático
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita