#include <iostream>
#include <string.h>
using namespace std;

union Nums{
     int x;
     double y;
     char z;
};

int main(int argc, char **argv)
{
    Nums a;
    a.y=1.9238;
    cout<<a.y<<endl;
    a.x=18;
    cout<<a.x<<endl;
    a.z='a';
    cout<<a.z<<endl;
	return 0;
}

所有union地址一样,共享一个内存空间,空间大小为union成员中最大占用空间

#include <iostream>
#include <string.h>
using namespace std;

union Nums{
     int x;
     double y;
     char z;
};

int main(int argc, char **argv)
{
    Nums a;
    a.y=1.9238;
    cout<<a.y<<endl;
    a.x=18;
    cout<<a.x<<endl;
    a.z='a';
    cout<<a.z<<endl;
	return 0;
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐