Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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(); }