DIFFERENCESTerms And Technology

Difference between structure and union in C with table

We explain the difference between structure and C union with table. In the C programming language, there are predefined data types and user-defined data types. Examples of user-defined data types are C structures and unions.

In Structure and Union, users can define different data types and member functions to access all variables. Although they both follow the same syntax, there is a big difference between them.

In Structure, the total memory size is equal to the sum of the sizes of all data types in the structure. Whereas in Union, the total size of the memory space is equal to the size of the largest data type in the union. It is one of the most important differences between structure and union.

For example

Structure work

{

Internal money;

Character’s name;

} s1;

In this, the memory size for the allocated structure would be 2 + 1 = 3 bytes, since the integer size is 1 byte and the character size is 2 bytes. Therefore, the size will be 3 bytes.

union work

{

Internal money;

Character’s name;

} s1;

In the union, the size of the allocated memory will be 2 bytes since the maximum size of the data type in the union is 2 bytes, that is, the character data type.

Comparison table between structure and C-junction (in tabular form)

Parameter for comparison join structure

Keyword definition Use the keyword “union” Use the keyword “structure”
Memory size The size is equal to the largest item. Size equal to the sum of all elements of the structure
Shared memory All element memory is shared with different elements. Structure elements do not have shared memory.
Element access Only one item is accessed at a time Any number of items can be accessed at any time
Example Union Example
{
Datatypes and Members
} obj;
structure example
{
Data types and members
} obj;

What is the structure in C?

The structure is a user-defined group of data and is the collection of various types of data. The following example will be quite useful. Suppose a programmer needs to store some data like student, name, class, address and many more.

Well, there are two ways to approach this problem, one is to create different types of data and another is to create a structure.

Here in this case the structure would be advantageous since if you create variables separately then you need to create many variables for each student, and it would be really chaos. Instead, a structure can be used over and over again.

A structure can be created using a keyword, struct.

For example

Struct structure_name {

Datatype datatype_name;

Datatype datatype_name;

Datatype datatype_name;

Datatype datatype_name;

};

If you want to access any of the data members, you need to create an object like

Struct structure_name_object_name;

With the syntax object_name.datatype_name you can access the data type in the structure.

C structure

What is Union in C?

Similar to union of structures, there is another user-defined data type in the C programming language. Whenever a programmer defines a union, a user-defined data type is created, but there is no memory location.

Well if you want to allocate memory then you need to create variables in the union. Union has a property that does not allow any programmer to access more than one datatype.

Therefore, in conjunction, a programmer can access one data member at a time. Let’s take a small example.

Union union_name

{

Data type Data type name;

Data type Data type name;

Data type Data type name;

Data type Data type name;

};

In the example above, a basic join structure is shown. It is the way a programmer creates the union. If you want to access any data type in the union, you have to use it. structure-like operator.

Union union_name objname; With the above declaration, you can create the object that will help you access any data member in the union using the dot operator.

C junction

Main differences between structure and union in C

  1. A structure is a user-defined data type that stores data types of different types. Also, it is used to represent a collection of data type values. If a programmer needs to define a union, then a programmer needs to use keyword structure. Whereas a union needs a union keyword for its definition.
  2. In a structure, all data types are stored in a different location, and you can access multiple data members. Whereas in the union all the data members share the same memory location and only a single data member can be accessed at a time.
  3. In the structure, to initialize any member, multiple members can be initialized at the same time, but in case of join, only the first member can be initialized.
  4. The total size of the structure depends on the sum of the size of all the data members, while in the case of the union, the size is equal to the data member whose size is the largest among all.
  5. In the structure, each data type has a different memory allocation, while in the union, there is a single memory allocated for the largest data member.

Final Thought

Structure and unions are user-defined data types used in c programming. Structure and joins share the same concept of storing various types of data. And all data types in structure and union are accessed with a dot operator.

Structures and junctions only differ in terms of size and memory allocation, but the use case for them is the same. Both increase code reuse and much more. If you want to store many values ​​for a single data type, structure and union would be useful.

A basic use case for structure and join would be when you need to store a worker’s record. A structure or union will store all the data in structure or union, and then you can store or access the data. The main difference is in memory allocation and data type access.

Leave a Reply

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

Back to top button