Sr No.
|
Structure
|
Union
|
1
|
Structure is user defined data type
Which store a record with multiple value
|
Union is also a user defined data type
But only one member can be saved at a time
|
2
|
Separate space was allocated for each member of structure
|
A common space allocated for all member
|
3
|
All members can be initialized at ones.
|
Only one member can be initialized at a time.
|
4
|
Total memory allocated by a structure variable is equal to number of
member allocated space.
|
Space allocated equal to higher member allocated space.
|
5
|
One can provide and used all member
data simultaneously.
|
Only one member value can be read or write at ones.
|
6
|
Uses rate of structure is higher due to separate space allocation for
each member.
|
Uses rate is lower than structure due common space allocation.
|
7
|
You can updated previous value of any
member without losing other member data
|
If a member initialized and another attempt for change value of other
member lead loss of previous value.
|
#include<stdio.h>
struct stu
{
int roll;
char
nm[10];
char
city[10];
};
union emp
{
int roll;
char
nm[10];
char
city[10];
};
void main()
{
struct stu
ob1;
union emp
ob2;
clrscr();
ob1.roll=101;
strcpy(ob1.nm,"Girfa");
strcpy(ob1.city,"Student
Help");
printf("\nSize
of Structure %d",sizeof(ob1));
printf("\n\tRoll=%d\n\tName=%s\n\tCity=%s",ob1.roll,ob1.nm,ob1.city);
ob2.roll=101;
printf("\nSize
of Union\t %d",sizeof(ob2));
printf("\nUnion
Roll %d",ob2.roll);
strcpy(ob2.nm,"Girfa");
printf("\nValue
Loss due to Union %d",ob2.nm);
getch();
}