读书人

请问关于union的有关问题

发布时间: 2013-07-01 12:33:04 作者: rapoo

请教关于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. 内存不会动态调整的, 会覆盖, 会留着

读书人网 >C++

热点推荐