/*Write a C Program to demonstrate the difference between structure & union. */ #include < stdio.h> #include < string.h> #include< conio.h> // declaring structure struct struct_example { int integer; float decimal; char name[20]; }; // declaring union union union_example { int integer; float decimal; char name[20]; }; void main() { struct struct_example s={18,38," hc"}; union union_example u ; printf("structure data:\n integer: %d\n decimal: %.2f\n name: %s\n",s.integer, s.decimal, s.name); printf("\nunion data:\n integer: %d\n decimal: %.2f\n name: %s\n", u.integer, u.decimal, u.name); // difference two and three printf("\n sizeof structure : %ld \n", sizeof(s)); printf(" sizeof union : %ld\n", sizeof(u)); // difference five printf("\n Accessing all members at a time:"); s.integer = 183; s.decimal = 90; strcpy(s.name, "geeksforgeeks"); printf("structure data:\n integer: %d\n decimal: %.2f\n name: %s\n",s.integer, s.decimal, s.name); u.integer = 183; u.decimal = 90; strcpy(u.name, "geeksforgeeks"); printf("\nunion data:\n integer: %d\n decimal: %.2f\n name: %s\n", u.integer, u.decimal, u.name); printf("\n Accessing one member at time:"); printf("\nstructure data:"); s.integer = 240; printf("\ninteger: %d", s.integer); s.decimal = 120; printf("\ndecimal: %f", s.decimal); strcpy(s.name, "C programming"); printf("\nname: %s\n", s.name); printf("\n union data:"); u.integer = 240; printf("\ninteger: %d", u.integer); u.decimal = 120; printf("\ndecimal: %f", u.decimal); strcpy(u.name, "C programming"); printf("\nname: %s\n", u.name); //difference four printf("\nAltering a member value:\n"); s.integer = 1218; printf("structure data:\n integer: %d\n decimal: %.2f\n name: %s\n",s.integer, s.decimal, s.name); u.integer = 1218; printf("union data:\n integer: %d\n decimal: %.2f\n name: %s\n", u.integer, u.decimal, u.name); getch(): }