SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
ESTRUCTURAS Y UNIONES
Sugerencias y herramientas para crear para crear y presentar diapositivas en
formato panorámico
Contenido
 Estructuras
 Acceso a estructuras
 Estructuras anidadas
 Arrays de estructuras
 Utilización de estructuras como parámetros
 Uniones
 Enumeraciones
 Campos de bit
 Ejercicios
 E
Estructuras
 Los arrays son estructuras de datos que contienen un numero
          y                          q
 determinado de elementos y todos los elementos han de ser
 del mismo tipo de datos. Por ejemplo si se dispone de una
 lista de temperaturas es muy útil un array sin embargo si
          temperaturas,                array;    embargo,
 se necesita una lista de información de clientes que
 contengan elementos tales como; el nombre, edad, la
        g
 dirección, # de cuenta, los arrays no son adecuados. La
 solución a este problema es usar un tipo de dato registro, en
 C llamado estructura
Cont…
Cont
 Una estructura es una colección de uno o mas tipos de elementos
 denominados miembros, cada uno d l cuales puede ser un tipo
 d      i d     i b        d        de los    l      d       i
 de dato diferente
 Supongamos que se desea almacenar los datos de una colección de
 discos compactos de música. Estos datos pueden ser;
   Titulo
   Artista
   Numero de canciones
   Precio
   Fecha de compra
Declaración de una estructura
 Una estructura es un tipo de dato definido por el
                            p                  p
 usuario, que se debe declarar antes de que se pueda
 utilizar. El formato de la declaración es;
   Struct <nombre de la estructura> {
   <tipo de dato mienmbro1><nombre miembro>
   <tipo de dato mienmbro2><nombre miembro>
   ….
   <tipo d d
   < i de dato mienmbron><nombre miembro>};
                  i    b ><        b  i b >}
Definición de variables de estructuras
 Al igual que a los tipos de datos enumerados, a una
 estructura se accede utilizando una variable o variables que
 se deben definir después de la declaración de la estructura.
 Las variables de estructuras se pueden definir de dos
 formas;
   Listándolas inmediatamente después de la llave de cierre de la
   declaración d l estructura
   d l       ió de la t t
   Listando el tipo de la estructura creado seguido por las variables
   correspondientes en cualquier lugar del programa antes de
   utilizarlas
     ili l
Ejemplo
 1. struct colecciones_CD
 {
 char titulo[30] ;
 char artista[25] ;
 int num_canciones;
 float precio;
 char fecha_compra[8];
 } cd1, cd2, cd3;
 2. t t l i
 2 struct colecciones_CD cd1, cd2, cd3;
                      CD d1 d2 d3
Inicialización de una declaración de estructuras
  Se puede inicializar una estructura dentro de una
  sección de código de su programa, o bien se puede
  inicializar la estructura como parte de la definición
                                             definición.
  Cuando se inicializa una estructura como parte de
  la definición se especifican los valores iniciales
      definición,                             iniciales,
  entre llaves, después de la definición de variables
  estructura
El tamaño de una estructura
 El operador sizeof se aplica sobre un tipo de datos, o bien
     p                  p                p
 sobre una variable. Se puede aplicar para determinar el
 tamaño que ocupa en memoria una estructura
 Void main ()
   {
   Struct
   Str ct persona mar
                   mar;
   Printf (“Sizeof (persona):%dn”,sizeof(mar));
   }
Acceso a estructuras
 Almacenamiento de información en estructuras;
   Se puede almacenar información en estructuras mediante
   inicialización, asignación directa o lectura del teclado
 Acceso a una estructura de datos mediante el operador
 punto
   La asignación de datos a los miembros de una variable
   estructura se h
     t t         hace mediante el operador punto. L sintaxis en C
                        di t l         d      t La i t i
   es;
   <nombre variable estructurada> . <nombre miembro> = datos;
   Cd1.precio=0.75
Cont ..
 Acceso a una estructura mediante el operador puntero
   El operador puntero ->, sirve para acceder a los datos de
   una estructura a partir de un puntero. Para utilizar este
   operador se debe definir primero una variable puntero
   para apuntar a la estructura
   La asignación de datos a estructuras utilizando el operador
   puntero ti
       t   tiene el f
                  l formato;
                         t
   <puntero estructura> -> <nombre miembro>=datos;
   Ptr_est Nota 8.5;
   Ptr est->Nota=8.5;
Lectura de información de una estructura
 Si ahora se desea introducir la información en la
 estructura basta con acceder a los miembros de la
 estructura con el operador punto o flecha (puntero)
   Scanf(“%f”,&z.pr);
   Scanf(“%f”,&z->pi);
   S f(“%f” & > i)
Recuperación de información de una estructura
 Se recupera información de una estructura utilizando el
 operador de asignación o una sentencia de salida
 (print (), puts(),..)
   <nombre de la variable>=<nombre de la variable
   estrctura>.<nombre miembro>
   Printf(“”,<nombre    variable estructura>-><nombre
   miembro>
   X=z.pr;
   Printf( %f z >pr);
   Printf(“%f”,z->pr);
Estructuras anidadas
 Una estructura puede contener otras estructuras llamadas estructuras
 anidadas. S h d d fi i l miembros comunes solo una vez en
    id d Se han de definir los i b                       l
 su propia estructura y a continuación utilizar esa estructura como un
 miembro de otra estructura
Ejemplo
 struct info_dir         struct empleado
                                  p
                         {
 {                       char nombre_emp [ 3 0] ;
                         struct info_dir direccion_emp;
 char dirección[25] ;    double salario;
 char ciudad[20];        };
                         struct clientes
 char provincia [20] ;   {
 long int cod_postal;    char nombre_cliente[30];
                         struct info_dir direccion_clien;
 };                      double saldo;
                         };
Ejemplo 9 1
        9.1
 Se desea registrar una estructura Persona Empleado que contenga
 como miembros l d
         i b     los datos d una persona empleado que a su vez
                           de                   l d
 tenga los datos de la fecha de nacimiento. En un programa se
 muestra el uso de la estructura, se define una función para dar
 entrada a los datos de la entrada y otra función para dar salida a
 los datos de una estructura persona. A la función de entrada se
 transmite por dirección (&p) la variable estructura, por lo que el
 argumento correspondiente tiene que ser un puntero(*p) y el acceso
                                             puntero( p)
 a los campos se hace con el selector ->
Arrays de estructuras
 Se puede crear un array de estructuras tal como se
 crea un array de otros tipos. Mientras que los arrays
 p p
 proporcionan un medio practico de almacenar diversos
                           p
 valores del mismo tipo, los arrays de estructuras le
 p
 permiten almacenar juntos diversos valores de
                            j
 diferentes tipos, agrupados como estructuras
 S
 Struct info_libro libros[100]
                         [ 00]
Utilización de estructuras como parámetros
 C permite pasar estructuras a funciones, bien por valor o bien por
 referencia utilizando el operador &
    f     i    ili d l         d
 int main (void)
 {
 struct info_persona reg_dat;
 / * Pasa por referencia la variable * /
 Entrada_pna(&reg_dat);
 Entrada pna(&reg dat);
 / * Pasa por valor * /
 Ver_info(reg_dat);
 }
Uniones
 Las uniones son similares a las estructuras en cuanto que agrupan
 una serie d variables, pero l f
          i de       i bl         la forma d almacenamiento es
                                             de l          i
 diferente y, por consiguiente, efectos diferentes. Las uniones,
 declaradas con la palabra reservada unión, almacenan miembros
 múltiples en un paquete En una unión todos los miembros se solapan
                 paquete.
 entre si en la misma posición
   Unión nombre {
   Tipo1 miembro1;
   T         b
   Tipo2 miembro2;
   ..
   };
Enumeraciones
 Un enum es un tipo definido por el usuario con
 constantes de nombre de tipo entero. En la declaración
 de un tipo enum se escribe una lista de identificadores
 que internamente se asocian con las constantes enteras
 0,1,2,etc
 Enum nombre
   {
   Enum1, enum2, ….enum_n
   };
   }
Ejemplo 9 2
        9.2
 El siguiente programa muestra el uso de la
 enumeración boolean. El programa lee un texto y
 cuenta las vocales leídas La función vocal()
                         leídas.
 devuelve true si el carácter de entrada es vocal
CAMPOS DE BIT
 El lenguaje C permite realizar operaciones con los bits de una
 palabra. C l campos d bi C permite acceder a un numero d
    l b Con los           de bits      i       d                 de
 bits de una palabra entera. Un campo de bits es un conjunto de bits
 adyacentes dentro de una palabra entera
 Struct identificador_campo{
                           {
   Tipo nombre1: longitud1;
   Tipo nombre 2: longitud2;
      p              g      ;
   ..
   Tipo nombren: longitudn;
   }
Ejercicios
 Escribe un programa para calcular el numero de
 días que hay entre dos fechas; declarar fecha
 como una estructura
           estructura.
 Escribe un programa que permita hacer las
 operaciones d suma, resta, multiplicación y di i ió
         i    de        t     lti li ió      división
 de números complejos. El numero complejo a de
 definirse
 d fi i como una estructura.
Patrón de prueba de pantalla panorámica (16:9)




                               Prueba de la
                                relación de
                                  aspecto
                            (Debe parecer circular)




       4x3

16x9

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
Datos abstractos
Datos abstractosDatos abstractos
Datos abstractos
 
Tema 9 www.fresymetal.com
Tema 9 www.fresymetal.comTema 9 www.fresymetal.com
Tema 9 www.fresymetal.com
 
Arreglos Java (arrays)
Arreglos Java (arrays)Arreglos Java (arrays)
Arreglos Java (arrays)
 
Modelo Dinamico
Modelo DinamicoModelo Dinamico
Modelo Dinamico
 
AlgoríTmica Y ProgramacióN
AlgoríTmica Y ProgramacióNAlgoríTmica Y ProgramacióN
AlgoríTmica Y ProgramacióN
 
Ambiente de programación en pascal
Ambiente de programación en pascalAmbiente de programación en pascal
Ambiente de programación en pascal
 
Ambiente
 Ambiente Ambiente
Ambiente
 
Ambiente de programacin en pascal
Ambiente de programacin en pascalAmbiente de programacin en pascal
Ambiente de programacin en pascal
 
Introducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje CIntroducción a los Punteros en el lenguaje C
Introducción a los Punteros en el lenguaje C
 
Programacion
ProgramacionProgramacion
Programacion
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
GuíA De PráCtica 2
GuíA De PráCtica 2GuíA De PráCtica 2
GuíA De PráCtica 2
 
Estructura de Datos
Estructura de DatosEstructura de Datos
Estructura de Datos
 
Lenguaje de Programacion - Java
Lenguaje de Programacion - JavaLenguaje de Programacion - Java
Lenguaje de Programacion - Java
 
Manejo De Memoria
Manejo De MemoriaManejo De Memoria
Manejo De Memoria
 

Similar a Clase 10_ programacion

Tema-estructuras-c++.pdf
Tema-estructuras-c++.pdfTema-estructuras-c++.pdf
Tema-estructuras-c++.pdfSANTOS400018
 
Programación II_modulo1lolololololo9oo.pptx
Programación II_modulo1lolololololo9oo.pptxProgramación II_modulo1lolololololo9oo.pptx
Programación II_modulo1lolololololo9oo.pptxhassanbadredun
 
Computacion estructuras
Computacion estructurasComputacion estructuras
Computacion estructurasManuel
 
Nucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicasNucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicascarsanta
 
Estructuras 1
Estructuras 1Estructuras 1
Estructuras 1eduard
 
ProgramacióN ElectróNica 2, Estructuras
ProgramacióN ElectróNica 2, EstructurasProgramacióN ElectróNica 2, Estructuras
ProgramacióN ElectróNica 2, Estructuraslouis
 
Estructuras fundamentales
Estructuras fundamentalesEstructuras fundamentales
Estructuras fundamentalesluis cedeño
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matricesJohanna Marin
 
Modulo 1- Curso de Estructura (Struct)
Modulo 1- Curso de Estructura (Struct)Modulo 1- Curso de Estructura (Struct)
Modulo 1- Curso de Estructura (Struct)Ing. Saulo Aizprua
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacionYsaac Ruiz
 
Utp pti_s10_estructuras y uniones
 Utp pti_s10_estructuras y uniones Utp pti_s10_estructuras y uniones
Utp pti_s10_estructuras y unionesjcbenitezp
 

Similar a Clase 10_ programacion (20)

Tema-estructuras-c++.pdf
Tema-estructuras-c++.pdfTema-estructuras-c++.pdf
Tema-estructuras-c++.pdf
 
Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
Estructuras
EstructurasEstructuras
Estructuras
 
Estructuras ing. Vanessa Borgas
Estructuras ing. Vanessa BorgasEstructuras ing. Vanessa Borgas
Estructuras ing. Vanessa Borgas
 
Programación II_modulo1lolololololo9oo.pptx
Programación II_modulo1lolololololo9oo.pptxProgramación II_modulo1lolololololo9oo.pptx
Programación II_modulo1lolololololo9oo.pptx
 
Curso9 estructuras
Curso9 estructurasCurso9 estructuras
Curso9 estructuras
 
Curso9 estructuras
Curso9 estructurasCurso9 estructuras
Curso9 estructuras
 
Computacion estructuras
Computacion estructurasComputacion estructuras
Computacion estructuras
 
Estructura c
Estructura c Estructura c
Estructura c
 
Nucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicasNucleo 2 estructuras dinámicas
Nucleo 2 estructuras dinámicas
 
Estructuras 1
Estructuras 1Estructuras 1
Estructuras 1
 
ProgramacióN ElectróNica 2, Estructuras
ProgramacióN ElectróNica 2, EstructurasProgramacióN ElectróNica 2, Estructuras
ProgramacióN ElectróNica 2, Estructuras
 
Estructuras fundamentales
Estructuras fundamentalesEstructuras fundamentales
Estructuras fundamentales
 
Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)Tipos de Datos Abstractos (TDA)
Tipos de Datos Abstractos (TDA)
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Modulo 1- Curso de Estructura (Struct)
Modulo 1- Curso de Estructura (Struct)Modulo 1- Curso de Estructura (Struct)
Modulo 1- Curso de Estructura (Struct)
 
3. lenguaje c-
3. lenguaje c-3. lenguaje c-
3. lenguaje c-
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Utp pti_s10_estructuras y uniones
 Utp pti_s10_estructuras y uniones Utp pti_s10_estructuras y uniones
Utp pti_s10_estructuras y uniones
 
Tipos De Datos
Tipos De DatosTipos De Datos
Tipos De Datos
 

Más de diego MC

Que es_mision
 Que es_mision Que es_mision
Que es_misiondiego MC
 
Contenido cient fico(didactica especial)
Contenido cient fico(didactica especial)Contenido cient fico(didactica especial)
Contenido cient fico(didactica especial)diego MC
 
Sicolog a evolutiva_contenido
Sicolog a evolutiva_contenidoSicolog a evolutiva_contenido
Sicolog a evolutiva_contenidodiego MC
 
Neurociencias 4
Neurociencias 4Neurociencias 4
Neurociencias 4diego MC
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programaciondiego MC
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programaciondiego MC
 
Neurociencias 4
Neurociencias 4Neurociencias 4
Neurociencias 4diego MC
 
Presentacion unidad 4_neurociencias
Presentacion unidad 4_neurocienciasPresentacion unidad 4_neurociencias
Presentacion unidad 4_neurocienciasdiego MC
 

Más de diego MC (14)

Que es_mision
 Que es_mision Que es_mision
Que es_mision
 
Contenido cient fico(didactica especial)
Contenido cient fico(didactica especial)Contenido cient fico(didactica especial)
Contenido cient fico(didactica especial)
 
Sicolog a evolutiva_contenido
Sicolog a evolutiva_contenidoSicolog a evolutiva_contenido
Sicolog a evolutiva_contenido
 
Neurociencias 4
Neurociencias 4Neurociencias 4
Neurociencias 4
 
Clase 9- programacion
Clase 9- programacionClase 9- programacion
Clase 9- programacion
 
Clase 6
Clase 6Clase 6
Clase 6
 
Clase 5
Clase 5Clase 5
Clase 5
 
Clase 4
Clase 4Clase 4
Clase 4
 
Clase 3
Clase 3Clase 3
Clase 3
 
Clase 2
Clase 2Clase 2
Clase 2
 
Clase 1
Clase 1Clase 1
Clase 1
 
Clase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacionClase 11- fundamentos de la programacion
Clase 11- fundamentos de la programacion
 
Neurociencias 4
Neurociencias 4Neurociencias 4
Neurociencias 4
 
Presentacion unidad 4_neurociencias
Presentacion unidad 4_neurocienciasPresentacion unidad 4_neurociencias
Presentacion unidad 4_neurociencias
 

Clase 10_ programacion

  • 1. ESTRUCTURAS Y UNIONES Sugerencias y herramientas para crear para crear y presentar diapositivas en formato panorámico
  • 2. Contenido Estructuras Acceso a estructuras Estructuras anidadas Arrays de estructuras Utilización de estructuras como parámetros Uniones Enumeraciones Campos de bit Ejercicios E
  • 3. Estructuras Los arrays son estructuras de datos que contienen un numero y q determinado de elementos y todos los elementos han de ser del mismo tipo de datos. Por ejemplo si se dispone de una lista de temperaturas es muy útil un array sin embargo si temperaturas, array; embargo, se necesita una lista de información de clientes que contengan elementos tales como; el nombre, edad, la g dirección, # de cuenta, los arrays no son adecuados. La solución a este problema es usar un tipo de dato registro, en C llamado estructura
  • 4. Cont… Cont Una estructura es una colección de uno o mas tipos de elementos denominados miembros, cada uno d l cuales puede ser un tipo d i d i b d de los l d i de dato diferente Supongamos que se desea almacenar los datos de una colección de discos compactos de música. Estos datos pueden ser; Titulo Artista Numero de canciones Precio Fecha de compra
  • 5. Declaración de una estructura Una estructura es un tipo de dato definido por el p p usuario, que se debe declarar antes de que se pueda utilizar. El formato de la declaración es; Struct <nombre de la estructura> { <tipo de dato mienmbro1><nombre miembro> <tipo de dato mienmbro2><nombre miembro> …. <tipo d d < i de dato mienmbron><nombre miembro>}; i b >< b i b >}
  • 6. Definición de variables de estructuras Al igual que a los tipos de datos enumerados, a una estructura se accede utilizando una variable o variables que se deben definir después de la declaración de la estructura. Las variables de estructuras se pueden definir de dos formas; Listándolas inmediatamente después de la llave de cierre de la declaración d l estructura d l ió de la t t Listando el tipo de la estructura creado seguido por las variables correspondientes en cualquier lugar del programa antes de utilizarlas ili l
  • 7. Ejemplo 1. struct colecciones_CD { char titulo[30] ; char artista[25] ; int num_canciones; float precio; char fecha_compra[8]; } cd1, cd2, cd3; 2. t t l i 2 struct colecciones_CD cd1, cd2, cd3; CD d1 d2 d3
  • 8. Inicialización de una declaración de estructuras Se puede inicializar una estructura dentro de una sección de código de su programa, o bien se puede inicializar la estructura como parte de la definición definición. Cuando se inicializa una estructura como parte de la definición se especifican los valores iniciales definición, iniciales, entre llaves, después de la definición de variables estructura
  • 9. El tamaño de una estructura El operador sizeof se aplica sobre un tipo de datos, o bien p p p sobre una variable. Se puede aplicar para determinar el tamaño que ocupa en memoria una estructura Void main () { Struct Str ct persona mar mar; Printf (“Sizeof (persona):%dn”,sizeof(mar)); }
  • 10. Acceso a estructuras Almacenamiento de información en estructuras; Se puede almacenar información en estructuras mediante inicialización, asignación directa o lectura del teclado Acceso a una estructura de datos mediante el operador punto La asignación de datos a los miembros de una variable estructura se h t t hace mediante el operador punto. L sintaxis en C di t l d t La i t i es; <nombre variable estructurada> . <nombre miembro> = datos; Cd1.precio=0.75
  • 11. Cont .. Acceso a una estructura mediante el operador puntero El operador puntero ->, sirve para acceder a los datos de una estructura a partir de un puntero. Para utilizar este operador se debe definir primero una variable puntero para apuntar a la estructura La asignación de datos a estructuras utilizando el operador puntero ti t tiene el f l formato; t <puntero estructura> -> <nombre miembro>=datos; Ptr_est Nota 8.5; Ptr est->Nota=8.5;
  • 12. Lectura de información de una estructura Si ahora se desea introducir la información en la estructura basta con acceder a los miembros de la estructura con el operador punto o flecha (puntero) Scanf(“%f”,&z.pr); Scanf(“%f”,&z->pi); S f(“%f” & > i)
  • 13. Recuperación de información de una estructura Se recupera información de una estructura utilizando el operador de asignación o una sentencia de salida (print (), puts(),..) <nombre de la variable>=<nombre de la variable estrctura>.<nombre miembro> Printf(“”,<nombre variable estructura>-><nombre miembro> X=z.pr; Printf( %f z >pr); Printf(“%f”,z->pr);
  • 14. Estructuras anidadas Una estructura puede contener otras estructuras llamadas estructuras anidadas. S h d d fi i l miembros comunes solo una vez en id d Se han de definir los i b l su propia estructura y a continuación utilizar esa estructura como un miembro de otra estructura
  • 15. Ejemplo struct info_dir struct empleado p { { char nombre_emp [ 3 0] ; struct info_dir direccion_emp; char dirección[25] ; double salario; char ciudad[20]; }; struct clientes char provincia [20] ; { long int cod_postal; char nombre_cliente[30]; struct info_dir direccion_clien; }; double saldo; };
  • 16. Ejemplo 9 1 9.1 Se desea registrar una estructura Persona Empleado que contenga como miembros l d i b los datos d una persona empleado que a su vez de l d tenga los datos de la fecha de nacimiento. En un programa se muestra el uso de la estructura, se define una función para dar entrada a los datos de la entrada y otra función para dar salida a los datos de una estructura persona. A la función de entrada se transmite por dirección (&p) la variable estructura, por lo que el argumento correspondiente tiene que ser un puntero(*p) y el acceso puntero( p) a los campos se hace con el selector ->
  • 17. Arrays de estructuras Se puede crear un array de estructuras tal como se crea un array de otros tipos. Mientras que los arrays p p proporcionan un medio practico de almacenar diversos p valores del mismo tipo, los arrays de estructuras le p permiten almacenar juntos diversos valores de j diferentes tipos, agrupados como estructuras S Struct info_libro libros[100] [ 00]
  • 18. Utilización de estructuras como parámetros C permite pasar estructuras a funciones, bien por valor o bien por referencia utilizando el operador & f i ili d l d int main (void) { struct info_persona reg_dat; / * Pasa por referencia la variable * / Entrada_pna(&reg_dat); Entrada pna(&reg dat); / * Pasa por valor * / Ver_info(reg_dat); }
  • 19. Uniones Las uniones son similares a las estructuras en cuanto que agrupan una serie d variables, pero l f i de i bl la forma d almacenamiento es de l i diferente y, por consiguiente, efectos diferentes. Las uniones, declaradas con la palabra reservada unión, almacenan miembros múltiples en un paquete En una unión todos los miembros se solapan paquete. entre si en la misma posición Unión nombre { Tipo1 miembro1; T b Tipo2 miembro2; .. };
  • 20. Enumeraciones Un enum es un tipo definido por el usuario con constantes de nombre de tipo entero. En la declaración de un tipo enum se escribe una lista de identificadores que internamente se asocian con las constantes enteras 0,1,2,etc Enum nombre { Enum1, enum2, ….enum_n }; }
  • 21. Ejemplo 9 2 9.2 El siguiente programa muestra el uso de la enumeración boolean. El programa lee un texto y cuenta las vocales leídas La función vocal() leídas. devuelve true si el carácter de entrada es vocal
  • 22. CAMPOS DE BIT El lenguaje C permite realizar operaciones con los bits de una palabra. C l campos d bi C permite acceder a un numero d l b Con los de bits i d de bits de una palabra entera. Un campo de bits es un conjunto de bits adyacentes dentro de una palabra entera Struct identificador_campo{ { Tipo nombre1: longitud1; Tipo nombre 2: longitud2; p g ; .. Tipo nombren: longitudn; }
  • 23. Ejercicios Escribe un programa para calcular el numero de días que hay entre dos fechas; declarar fecha como una estructura estructura. Escribe un programa que permita hacer las operaciones d suma, resta, multiplicación y di i ió i de t lti li ió división de números complejos. El numero complejo a de definirse d fi i como una estructura.
  • 24. Patrón de prueba de pantalla panorámica (16:9) Prueba de la relación de aspecto (Debe parecer circular) 4x3 16x9