Unions
- Unions
- Unions are similar to structures, but a union’s members all share the same memory location. In essence, a union is a variable that is capable of holding different types of data at different times.
Unions:
- May contain any number of members
- Members may be of any data type
- Are as large as their largest member
- Use exactly the same syntax as structures except struct is replaced with union
Creating an Union
Syntax
union unionName
{
type1 memberName1;
…
typen memberNamen;
}
Example
Purpose of a Union
Unions are similar to structures except that struct by itself outside of a union assigns a new memory location upon declaration.
union allows the same memory location to be viewed and manipulated as different data types.
Example
Creating a Union with typedef
Syntax
typedef union unionTagoptional
{
type1 memberName1;
…
typen memberNamen;
} typeName;
Example
Unions Memory Storage
Union variables may be declared exactly like structure variables. Memory is allocated to accommodate the union's largest member.