首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问关于union的有关问题

2013-07-01 
请教关于union的问题1.若union包含不同长度的变量,它占用多少内存,是最大的那个吗?2.假如这样一个结构体:s

请教关于union的问题
1.若union包含不同长度的变量,它占用多少内存,是最大的那个吗?
2.假如这样一个结构体:


struct mystruct
{
    char h[5];
    union
    {
       char m[50];
       int i;
       short s; 
    }
    char t[500]
}

定义该结构体的变量x,初始化之前,x占多少内存?
如果初始化时union中选的是int i,会不会动态调整内存大小?
如果初始化时给m[50]赋值,然后又给i赋值,那么应该i的值会覆盖m[50]的值对吧?但是m[50]中前4个字节以后的那部分数据还留着吗?

[解决办法]
1. 是用最大的那个
2. 内存不会动态调整的, 会覆盖, 会留着

热点排行