Structures, Unions, Enums - Programming

Q1:

Which of the following statements correct about the below program?
#include<stdio.h>

int main()
{
    union a
    {
        int i;
        char ch[2];
    };
    union a u1 = {512};
    union a u2 = {0, 2};
    return 0;
}
1: u2 CANNOT be initialized as shown.
2: u1 can be initialized as shown.
3: To initialize char ch[] of u2 '.' operator should be used.
4: The code causes an error 'Declaration syntax error'

A 1, 2

B 2, 3

C 1, 2, 3

D 1, 3, 4

ANS:A - 1, 2

No answer description is available. Let's discuss.