Wednesday, 19 July 2017

Difference between Structure and Union


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();
}