SlideShare ist ein Scribd-Unternehmen logo
1 von 3
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.
#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;
}
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.

Weitere ähnliche Inhalte

Andere mochten auch

Apuntes empiezo (a)
Apuntes empiezo (a)Apuntes empiezo (a)
Apuntes empiezo (a)pabesacv
 
Apuntes empiezo (c)
Apuntes empiezo (c)Apuntes empiezo (c)
Apuntes empiezo (c)pabesacv
 
Apuntes de estructuras nuevo
Apuntes de estructuras nuevoApuntes de estructuras nuevo
Apuntes de estructuras nuevopabesacv
 
Unida ii 8a
Unida ii 8aUnida ii 8a
Unida ii 8apabesacv
 
Unida ii 8a
Unida ii 8aUnida ii 8a
Unida ii 8apabesacv
 
Unida ii 9a
Unida ii 9aUnida ii 9a
Unida ii 9apabesacv
 
Apuntes empiezo (b)
Apuntes empiezo (b)Apuntes empiezo (b)
Apuntes empiezo (b)pabesacv
 
APUNTES DE ARQUITECTURA DE COMPUTADORAS
APUNTES DE ARQUITECTURA DE COMPUTADORASAPUNTES DE ARQUITECTURA DE COMPUTADORAS
APUNTES DE ARQUITECTURA DE COMPUTADORASpabesacv
 
Audio visual round fun quiz competition
Audio visual round fun quiz competitionAudio visual round fun quiz competition
Audio visual round fun quiz competitionRavi Rajput
 

Andere mochten auch (9)

Apuntes empiezo (a)
Apuntes empiezo (a)Apuntes empiezo (a)
Apuntes empiezo (a)
 
Apuntes empiezo (c)
Apuntes empiezo (c)Apuntes empiezo (c)
Apuntes empiezo (c)
 
Apuntes de estructuras nuevo
Apuntes de estructuras nuevoApuntes de estructuras nuevo
Apuntes de estructuras nuevo
 
Unida ii 8a
Unida ii 8aUnida ii 8a
Unida ii 8a
 
Unida ii 8a
Unida ii 8aUnida ii 8a
Unida ii 8a
 
Unida ii 9a
Unida ii 9aUnida ii 9a
Unida ii 9a
 
Apuntes empiezo (b)
Apuntes empiezo (b)Apuntes empiezo (b)
Apuntes empiezo (b)
 
APUNTES DE ARQUITECTURA DE COMPUTADORAS
APUNTES DE ARQUITECTURA DE COMPUTADORASAPUNTES DE ARQUITECTURA DE COMPUTADORAS
APUNTES DE ARQUITECTURA DE COMPUTADORAS
 
Audio visual round fun quiz competition
Audio visual round fun quiz competitionAudio visual round fun quiz competition
Audio visual round fun quiz competition
 

Ähnlich wie Unión almacena datos solapados en memoria

07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...Diego Andrés Alvarez Marín
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldMiguelDiaz369
 
Archivossin
ArchivossinArchivossin
ArchivossinErick Po
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelMiguelDiaz369
 
Abstracciones de datos
Abstracciones de datosAbstracciones de datos
Abstracciones de datosAriel Medina
 
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptAlgoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptDaveRodriguez22
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++EdsonRc
 
Archivos secuenciales indexados UMG grupo 3
Archivos secuenciales indexados UMG grupo 3Archivos secuenciales indexados UMG grupo 3
Archivos secuenciales indexados UMG grupo 3Krlos Mendez Lp
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matricesSohar Carr
 
Temas programacion java_3
Temas programacion java_3Temas programacion java_3
Temas programacion java_3Wally IG
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gioRobert Wolf
 

Ähnlich wie Unión almacena datos solapados en memoria (20)

07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
07 - Tipos de datos definidos por el programador en lenguaje C: struct, typed...
 
Estructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueldEstructuras de datos y estructuras de almacenamiento migueld
Estructuras de datos y estructuras de almacenamiento migueld
 
Archivossin
ArchivossinArchivossin
Archivossin
 
Estructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguelEstructuras de datos y estructuras de almacenamiento miguel
Estructuras de datos y estructuras de almacenamiento miguel
 
Sesion01EDx.pptx
Sesion01EDx.pptxSesion01EDx.pptx
Sesion01EDx.pptx
 
Abstracciones de datos
Abstracciones de datosAbstracciones de datos
Abstracciones de datos
 
Algoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).pptAlgoritmos y Estructura de datos_Semana5 (3).ppt
Algoritmos y Estructura de datos_Semana5 (3).ppt
 
Tipos de datos Java
Tipos de datos JavaTipos de datos Java
Tipos de datos Java
 
4 estructuras enlazadas
4 estructuras enlazadas4 estructuras enlazadas
4 estructuras enlazadas
 
funcion de archivo secuencial
funcion de archivo secuencial funcion de archivo secuencial
funcion de archivo secuencial
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++
 
Archivos secuenciales indexados UMG grupo 3
Archivos secuenciales indexados UMG grupo 3Archivos secuenciales indexados UMG grupo 3
Archivos secuenciales indexados UMG grupo 3
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Arreglos Java (arrays)
Arreglos Java (arrays)Arreglos Java (arrays)
Arreglos Java (arrays)
 
Temas programacion java_3
Temas programacion java_3Temas programacion java_3
Temas programacion java_3
 
Dbd04 t06 oracle
Dbd04 t06 oracleDbd04 t06 oracle
Dbd04 t06 oracle
 
Julio evies computacion
Julio evies computacionJulio evies computacion
Julio evies computacion
 
Archivos secuenciales indexados
Archivos secuenciales indexadosArchivos secuenciales indexados
Archivos secuenciales indexados
 
Arreglos
ArreglosArreglos
Arreglos
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gio
 

Mehr von pabesacv

Unida ii 7a
Unida ii 7aUnida ii 7a
Unida ii 7apabesacv
 
Unida ii 6a
Unida ii 6aUnida ii 6a
Unida ii 6apabesacv
 
Unida ii 5a
Unida ii 5aUnida ii 5a
Unida ii 5apabesacv
 
Unida ii 4a
Unida ii 4aUnida ii 4a
Unida ii 4apabesacv
 
Post y codigos de error
Post y codigos de errorPost y codigos de error
Post y codigos de errorpabesacv
 
Apuntes apuntadores 2 a
Apuntes apuntadores 2 aApuntes apuntadores 2 a
Apuntes apuntadores 2 apabesacv
 
Apuntes apuntadores 1 a
Apuntes apuntadores 1 aApuntes apuntadores 1 a
Apuntes apuntadores 1 apabesacv
 
Unida ii 3a
Unida ii 3aUnida ii 3a
Unida ii 3apabesacv
 
Unida ii 2a
Unida ii 2aUnida ii 2a
Unida ii 2apabesacv
 
Unida ii 1a
Unida ii 1aUnida ii 1a
Unida ii 1apabesacv
 
Apun9algol
Apun9algolApun9algol
Apun9algolpabesacv
 

Mehr von pabesacv (20)

Unida ii 7a
Unida ii 7aUnida ii 7a
Unida ii 7a
 
2 unida 4
2 unida 42 unida 4
2 unida 4
 
2 unida 3
2 unida 32 unida 3
2 unida 3
 
2 unida 2
2 unida 22 unida 2
2 unida 2
 
2 unida 1
2 unida 12 unida 1
2 unida 1
 
Unida ii 6a
Unida ii 6aUnida ii 6a
Unida ii 6a
 
Unida ii 5a
Unida ii 5aUnida ii 5a
Unida ii 5a
 
Unida ii 4a
Unida ii 4aUnida ii 4a
Unida ii 4a
 
Post y codigos de error
Post y codigos de errorPost y codigos de error
Post y codigos de error
 
Apuntes apuntadores 2 a
Apuntes apuntadores 2 aApuntes apuntadores 2 a
Apuntes apuntadores 2 a
 
Apuntes apuntadores 1 a
Apuntes apuntadores 1 aApuntes apuntadores 1 a
Apuntes apuntadores 1 a
 
Unida ii 3a
Unida ii 3aUnida ii 3a
Unida ii 3a
 
Unida ii 2a
Unida ii 2aUnida ii 2a
Unida ii 2a
 
Unida ii 1a
Unida ii 1aUnida ii 1a
Unida ii 1a
 
Arreglos3
Arreglos3Arreglos3
Arreglos3
 
Arreglos2
Arreglos2Arreglos2
Arreglos2
 
Ensa
EnsaEnsa
Ensa
 
Arreglos1
Arreglos1Arreglos1
Arreglos1
 
Arreglos
ArreglosArreglos
Arreglos
 
Apun9algol
Apun9algolApun9algol
Apun9algol
 

Unión almacena datos solapados en memoria

  • 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.