Está en la página 1de 3

ESTRUCTURAS Y UNIONES Una unin es una estructura en la que se comparte una regin de memoria para almacenar datos de tipos

distintos. El tamao de la unin es igual al del tipo de datos ms grande. union prueba{ int a; float b; char c; }; main(){ prueba x; x.a = 5; printf("a= %d, b= %f, c= %c\n",x.a,x.b,x.c); x.b = 5.0; printf("a= %d, b= %f, c= %c\n",x.a,x.b,x.c); x.c = '5'; printf("a= %d, b= %f, c= %c\n",x.a,x.b,x.c); getch(); }

#include <stdio.h> typedef struct{ int dia,mes,anyo; }fecha; typedef struct{ char nombre[20],apellido[20]; fecha nacimiento; char sexo; union{ struct { float peso,estatura; }varon; struct { int medidas[3]; }hembra; }; }persona; void escribePersona(persona p){ printf("nombre: %s %s\n",p.nombre,p.apellido); printf("fecha de nacimiento: %d/%d/%d\n", p.nacimiento.dia,p.nacimiento.mes,p.nacimiento.anyo); if(p.sexo=='H'){ printf("sexo: masculino\n"); printf("peso: %.1f, estatura: %.1f\n", p.varon.peso,p.varon.estatura);

} else{ printf("sexo: femenino\n"); printf("medidas: %d, %d, %d\n",p.hembra.medidas[0], p.hembra.medidas[1],p.hembra.medidas[2]); } } main(){ persona a = {"Juan","Perez",{3,4,1980},'H',80,1.83}, b = {"Luisa","Lane",{16,7,1990},'M',90,60}; escribePersona(a); escribePersona(b); b.hembra.medidas[0]=90; b.hembra.medidas[1]=60; b.hembra.medidas[2]=90; escribePersona(b); getchar(); }

También podría gustarte