Skip to content
Published On:
Aug 14, 2017
Last Updated:
Aug 14, 2017

Unions are used to create a data structure that can be addressed using different data types. An example of a union is shown below. This defines a result_t type which can either be read/written as a 32-bit value or an 8-bit error.

typedef union {
uint32_t value;
uint8_t error;
} result_t;

Unions are useful when function parameters have multiple purposes.

The purpose of union is to save memory by using the same memory region for storing different objects at different times. Unions are NOT meant to be used for type conversion.