Thursday, 13 November 2014

Unions In C

Structure occupies the memory size that is equal to the sum of sizes of all members of the structure.

But Union occupies the memory size that is equal to the size of the largest member of the Union.

As shown in below image, total memory occupied by employee union is 6 bytes. If it was structure, memory occupied would have been 8 bytes.

Example –
Below structure will occupy 52 bytes. But if it was union, it would have occupied 50 bytes.
struct Department
    int dept_id;
    char dept_name[50];


union u                                           // Here is declare the union.
   int a;                                        //veriable declaration.
   float b;
   char  s1[17];
int main( )
   union u u;                                    // here is call the union.     
   u.a = 8;                                      //
   printf( "u.a : %d\n", u.a);
   u.b = 99.0;
   printf( "u.b : %f\n", u.b);
   strcpy( u.s1, "fortitude");
   printf( "u.s1 : %s\n", u.s1);

Sponsored Links

Popular Posts



Google+ Followers

Google+ Badge