#include <iostream>
#include <cstring>
union un {
int a;
char s[20];
float f;
};
int main()
{
union un u;
std::cout << "size: " << sizeof(un) << "\n";
u.a = 546;
std::cout << u.a << "\n";
std::cout << "size: " << sizeof(un) << "\n";
strcpy(u.s, "C++");
std::cout << u.s << "\n";
std::cout << "size: " << sizeof(un) << "\n";
u.f = 3.14;
std::cout << u.f << "\n";
std::cout << "size: " << sizeof(un) << "\n";
return 0;
}
/*
run:
size: 20
546
size: 20
C++
size: 20
3.14
size: 20
*/