How to initialize union variables in C
Let us see all possible ways to initialize a union variable. Please remember that we can access one data member at a time in the case of union.
Method 1:
Method 1:
union value {
int x;
float y;
};
union value obj = {5};
Here, initialization is done after union definition. 5 is assigned to the member x of union variable obj.
Method 2:
Here, initialization is done while defining the union. 5 is assigned to the member x of union variable obj.
Method 3:
Method 2:
union value {
int x;
float y;
}obj = {5};
Method 3:
union value {
int x;
float y;
};
union value obj = {.y = 5.0};
Here, initialization is done after union definition. 5.0 is assigned to the member y of union variable obj. And we have used dot(.) operator for initialization.
Method 4:
union value {
int x;
float y;
};
union value obj = {y:5.0};
This method is similar to method 3. Here, color(:) is used instead of '=' and period before union member is removed
Example C program to illustrate union variable initialization:
#include <stdio.h>
union value {
int x;
float y;
}obj1 = {5}; //initializing union variable
int main() {
/* declaration and initialization for union variables */
union value obj2 = {6};
union value obj3 = {.y = 7.1};
union value obj4 = {y:8.2};
/* printing the values */
printf("obj1.x : %d\n", obj1.x);
printf("obj2.x : %d\n", obj2.x);
printf("obj3.y : %f\n", obj3.y);
printf("obj4.y : %f\n", obj4.y);
return 0;
}
Output:
jp@jp-VirtualBox:~/$ ./a.out
obj1.x : 5
obj2.x : 6
obj3.y : 7.100000
obj4.y : 8.200000
obj1.x : 5
obj2.x : 6
obj3.y : 7.100000
obj4.y : 8.200000
How to initialize union variables in C
Reviewed by Mursal Zheker
on
Sabtu, Januari 11, 2014
Rating:
Tidak ada komentar: