Open In App

C | Structure & Union | Question 7

Like Article
Like
Save Article
Save
Share
Report issue
Report




union test
{
    int x;
    char arr[8];
    int y;
};
  
int main()
{
    printf("%d", sizeof(union test));
    return 0;
}


Predict the output of above program. Assume that the size of an integer is 4 bytes and size of character is 1 byte. Also assume that there is no alignment needed.
(A) 12
(B) 16
(C) 8
(D) Compiler Error


Answer: (C)

Explanation: When we declare a union, memory allocated for a union variable of the type is equal to memory needed for the largest member of it, and all members share this same memory space. In above example, “char arr[8]” is the largest member. Therefore size of union test is 8 bytes.

Quiz of this Question


Last Updated : 28 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads