How to Declare a Struct Member Inside a Union in C?
Last Updated :
15 Feb, 2024
A union contains different types of variables as its members and all these members share a memory location. In this article, we will learn how to declare and access the struct member inside a union in C++.
Structure Inside Union in C
To declare a structure inside a union we can use the below syntax:
Syntax to Declare Structure Inside Union in C
union unionName {
struct structName structVar; // Struct as a member of the union
};
Here, structName is the name of the structure defined somewhere before the union declaration.
We can also declare the structure member directly inside the union as shown:
union unionName {
struct structName {
struct_member1;
struct_member2;
}structVar; // Struct as a member of the union
};
C Program to Declare Structure Inside Union
The below program demonstrates how we can declare a structure inside a union in C.
C
#include <stdio.h>
struct Point {
int x;
int y;
};
union Data {
int num;
char ch;
struct Point point;
};
int main()
{
union Data data;
data.num = 42;
printf ( "Number: %d\n" , data.num);
data.ch = 'A' ;
printf ( "Character: %c\n" , data.ch);
data.point.x = 10;
data.point.y = 20;
printf ( "Point: (%d, %d)\n" , data.point.x, data.point.y);
return 0;
}
|
Output
Number: 42
Character: A
Point: (10, 20)
Share your thoughts in the comments
Please Login to comment...