#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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐