Structures, Unions, Enums - Programming

Q1:

Point out the error in the program?
#include<stdio.h>

int main()
{
    union a
    {
        int i;
        char ch[2];
    };
    union a z1 = {512};
    union a z2 = {0, 2};
    return 0;
}

A
Error: invalid union declaration

B
Error: in Initializing z2

C No error

D None of above

ANS:A -

Error: invalid union declaration

No answer description is available. Let's discuss.