Difference Between Structure and Union in C

By Mohit Uniyal|Updated : September 21st, 2022

There is various difference between Structure and Union in C based on parameters such as size, storage value, syntax, etc. Structure and union are the ways of creating custom data in the C programming language. It offers various types of built-in data. The major difference between structure and union in C language is that to define the structure, we use the struct statement, and to define union, we use the union statement.

The union and structure combine the various objects belonging to the same memory location. Before learning about the difference between structure and union in C programming language, we will first see a brief introduction to structure and union in C programming language individually.

Difference Between Structure and Union in C PDF

Table of Content

Difference Between Structure and Union in C

Apart from various similarities between structure and union, both are custom data types and solve the same purpose of storing different data types in a single entity. There are a few differences between the two. The difference between structure and union in the C programming language is explained in the table provided below:

Structure VS Union
StructureUnion
The struct statement is used to define it.Union keyword is used to define it.
A separate memory location is assignedSingle memory is allotted to all.
Change in one does not affect another.Change in one affects other entities.
They are used to store multiple values.Stores on value at a time.
The size of the structure is the sum of all entities.The size of the union is the size of the largest entity.

What is a Structure in C?

A structure in the C programming language is a custom data type. They are used to hold different data types. The elements stored in the structure can be accessed and retrieved instantly. Various linear data structures are used to store and organize data, such as stack and queue. The difference between Stack and Queue is essential to understanding the structure in C. The struct statement is used to define the structure.

The syntax to declare the structure is shown below:

struct [structure name]
{
type member_1;
type member_2;
.

.

.
type member_n;
};

Candidates can also learn about the difference between Structure and Class in C++ here.

What is Union in C?

A union is the C programming language and a custom data type. They are also known as user-defined data types. Various union members could be defined at once but only one will hold a value. The union statement is used to define the union.

The syntax to declare the union is shown below:

union [union name]
{
type member_1;
type member_2;
.

.

.
type member_n;
};

Key Difference Between Structure and Union in C

  • In Structure, more than one member can be initialised simultaneously; in Union, only the first member can be initialised at once.
  • In Structure, any member can be retrieved or accessed by users at any time. However, in Union, only one member can be accessed or retrieved at once.
  • Every member of the input data has a specific memory location for a Structure. As a result, it can store numerous values for each member. For all the input data members in the case of a union, a single shared memory is allocated. As a result, it saves a single value at a time for each member.
  • The other members of the Structure are unaffected when one member's values are changed. However, in Union, the values of other members are impacted when you change the values of a single member.

Similarities Between Structure and Union in C

The following are some similarities between union and structure:

  • The custom data types union and structure both store several sorts of data collected as a single entity.
  • Members of structures and unions can be any sort of object, including arrays, unions, and other structures.
  • Both structures and unions are capable of being supplied as values to functions and having their values returned to them.
  • The function parameter's type must match that of the argument.

Check out a few important related topics to the difference between Structure and Union in C in the table provided below:

Difference Between RAM and ROMDifference Between Calloc () and Malloc ()
Difference Between Hard Copy and Soft CopyDifference Between Encoder and Decoder
Difference Between MAC Address and IP AddressDifference Between Symmetric and Asymmetric Key Encryption

Comments

write a comment

FAQs on Difference between Structure and Union

  • The major difference between structure and union in C is that structure uses a separate location to store the entities whereas union uses the same location to save all the entities. The change in one entity stored via union will affect all the other entities.

  • A structure in C is used to store a variety of data types. It is a type of custom data. A struct statement is used to define it. The syntax of the structure is:

    struct [structure name]

    {

    type member_1;

    type member_2;

    .


    .


    .

    type member_n;

    };

  • A union in C programming language is another custom data type similar to structure. They are also used to store different data types. The syntax of union is:

    union [union name]

    {

    type member_1;

    type member_2;

    .

    .

    .

    type member_n;

    };

  • As per the difference between structure and union in C with respect to the size of the custom memory is that size of the structure is the sum of size of each element in it whereas in the union it is the size of the largest entity.

  • The size of structure in C programming language 8 bytes. It is the sum of the size of the all entities saved in the structure.

Follow us for latest updates