<p>When should unions be used? Why do we need them?</p>

Unions allow data members which are mutually exclusive to share the same memory.  This is quite important when memory is more scarce, such as in embedded systems.
In the following example:
```
```
union {
   int a;
   int b;
   int c;
} myUnion;
```
```
This union will take up the space of a single int, rather than 3 separate int values.  If the user set the value of
a
, and then set the value of
b
, it would overwrite the value of
a
since they are both sharing the same memory location.