1 of 7

TOPIC: USER-DEFINED DATA TYPES (STRUCTURES AND UNIONS)

B.Sc(HONS) I Sem �Computer Science

(CC): Programming Fundamentals using C

PREPARED BY: Mr. Rabin Kumar Mullick

Department of Computer Science

Date : 16/09/2021

2 of 7

DIFFERENCE BETWEEN STRUCTURE AND UNION IN C

Structures in C is a user-defined data type available in C that allows to combining of data items of different kinds. Structures are used to represent a record. 

Defining a structure:

 To define a  structure, you must use the struct statement. The struct statement defines a new  data type, with more than or equal to one member.

Union in C  is a special data type available in C that allows storing different data types in the same memory location. You can define a union with many members, but only one member can contain a value at any given time. Unions provide an efficient way of using the same memory location for multiple purposes.

3 of 7

DEFINING A UNION

 To define a union, you must use the union statement in the same way as you did while defining a structure. The union statement defines a new data type with more than one member for your program

4 of 7

SIMILARITIES BETWEEN STRUCTURE AND UNION

  1. Both are user-defined data types used to store data of different types as a single unit.
  2. Their members can be objects of any type, including other structures and unions or arrays. A member can also consist of a bit field.
  3. Both structures and unions support only assignment = and  sizeof  operators. The two structures or unions in the assignment must have the same members and member types.
  4. A structure or a union can be passed by value to functions and returned by value by functions. The argument must have the same type as the function parameter. A structure or union is passed by value just like a scalar variable as a corresponding parameter.
  5. ‘.’   operator or selection operator, which has one of the highest precedences, is used for accessing member variables inside both the user-defined datatypes.

5 of 7

DIFFERENCES BETWEEN STRUCTURE AND UNION

Differences between Structure and Union are as shown below in tabular format as shown below as follows: 

6 of 7

ANONYMOUS UNION AND STRUCTURE IN C

In C11 standard of C, anonymous Unions and structures were added. �Anonymous unions/structures are also known as unnamed unions/structures as they don’t have names. Since there is no names, direct objects(or variables) of them are not created and we use them in nested structure or unions. 

7 of 7

  • THANK YOU