### Example of union Declaration and Use

The following example defines a union data type (not named) and a union variable (named `length`). The member of `length` can be a long int, a float, or a double.

>     union {
>             float meters;
>             double centimeters;
>             long inches;
>           } length;

The following example defines the union type `data` as containing one member. The member can be named `charctr`, `whole`, or `real`. The second statement defines two `data` type variables: `input` and `output`.

>     union data {
>                  char charctr;
>                  int whole;
>                  float real;
>                };
>     union data input, output;

The following statement assigns a character to `input`:

>     input.charctr = 'h';

The following statement assigns a floating-point number to member `output`:

>     output.real = 9.2;

The following example defines an array of structures named `records`. Each element of `records` contains three members: the integer `id_num`, the integer `type_of_input`, and the `union` variable `input`, which has the `union` data type defined in the previous example.

>     struct {
>              int id_num;
>              int type_of_input;
>              union data input;
>            } records[10];

The following statement assigns a character to the structure member `input` of the first element of records:

>     records[0].input.charctr = 'g';

union (Unions) Type