Unions in C

A Union in C is a composite data type that enables the storage of different data types in the same memory location. Unlike structures, which allocate memory for each member independently, unions share memory among their members. This means that the memory allocated for a union is equivalent to the size of its largest member.

In simpler terms, you can think of a union as a container that can hold various types of data, but only one type of data can be stored at a time. The memory allocated for a union can be used to hold any of its members interchangeably, but only the member that was most recently assigned a value is valid.

In the below PDF we discuss about Unions in detail in simple language, Hope this will help in better understanding.

C Tutorial

Declaration and Syntax:

The syntax for declaring a union is quite similar to that of a structure. Here’s how you declare a union:

union UnionName {

    data_type1 member1;

    data_type2 member2;

    // ...


Here, UnionName is the name you give to the union, and data_type represents the type of data you want to store in the union.

Usage and Benefits:

  • Memory Efficiency: Unions are particularly useful when you need to save memory by storing different types of data in the same memory space. Since only one member is active at a time, unions are memory-efficient compared to structures.
  • Variant Records: Unions can be used to represent variant records, where only one member is valid at any given time. For instance, a union can be used to represent a single entity that can be of different data types, like an employee record that could be either salaried or hourly.
  • Bit Manipulation: Unions can be used for bit-level manipulations, such as packing multiple fields into a single memory location or extracting specific bits from a data stream.

Related Question

 A union in C is a data structure that allows you to store different data types in the same memory location. Unlike structures, where all members have separate memory locations, union members share the same memory, resulting in a memory-efficient way to store different types of data.

A union is declared in a manner similar to a structure, using the union keyword

No, unions in C cannot have functions as their members. Unions can only contain variables of different data types.

You access union members using the dot (.) operator, just like you would with structures. Since union members share the same memory location, only one member should be accessed at a time to avoid data corruption.

 Unions and enums serve different purposes. Unions allow you to store different data types in the same memory location, while enums are used to define named integral constants, typically for improved code readability.


Introduction to C In the

Variables in C Variables are

Constants in C Constants play

Operators in C In C

Conditional Statements in C A

Loop Statements in C In

Jump Statements in C Jump

Leave a Comment

Your email address will not be published. Required fields are marked *

// Sticky ads