The actual size is system dependent because the language doesn't
specify the size of int or long int.
I'll assuming the common convention that sizeof(int)=4 and sizeof(long
int)=8.
The size of a union is the size of the largest element in the union.
So sizeof(D) = 5*sizeof(int)=20
C and B will be the same, because there is nothing bigger in any of
them.
sizeof(A) will be 40 which is the size of an array of eight long ints.
Don


On Dec 7, 5:42 am, zerobyzero <narayan.shiv...@gmail.com> wrote:
> what will be the size of union A ,B,C and D. also please explain the logic.
>
> * union A{*
> *          long int y[5];*
> *          union B{*
> *                double g;*
> *                union C{*
> *                      int k;*
> *                      union D{*
> *                            char ch;*
> *                            int x[5];*
> *                      }s;*
> *                }a;*
> *          }b;*
> *    }*p;*

-- 


Reply via email to