Word Count: 189
  • Post category:C
  • Post last modified:2023-01-06

Reference

Tutorial Point – C Tutorial

Defining a Union

union is a special data type available in C that allows to store 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-purpose.

union [union tag] {
   member definition;
   member definition;
   ...
   member definition;
} [one or more union variables];  

The union tag is optional and each member definition is a normal variable definition, such as int i; or float f; or any other valid variable definition. At the end of the union’s definition, before the final semicolon, you can specify one or more union variables but it is optional. Example:

#include <stdio.h>
#include <string.h>
 
union Data {
   int i;
   float f;
   char str[20];
};
 
int main( ) {

   union Data data;        

   printf( "Memory size occupied by data : %d\n", sizeof(data));

   return 0;
}

Accessing Union Members

To access any member of a union, we use the member access operator (.)

See the two examples for using Union in the above reference link.