It is possible to initialize a union. Yet, unlike struct initialization, the initialization list of a union must contain a single initializer that refers to the first member in the union:
union Key { int num_key; void *ptr_key; char name_key[10];};Key a_key = {5}; //first member of Key is of type int; all other bytes are initialized to binary zeroes