若有下面的说明和定义: struct test { int m1;Char m2;float m3; union uu{char u1[5];int u2[2];}ua; } myaa; 则sizeof(struct

admin2010-01-10  19

问题 若有下面的说明和定义:    struct test    {  int m1;Char m2;float m3;       union uu{char u1[5];int u2[2];}ua;    } myaa;    则sizeof(struct test)的值是

选项 A、12
B、16
C、14
D、9

答案1

解析 结构体所占用的存储空间是其所有成员占用的存储空间之和,而共用体所占用的存储空间是成员中占用存储空间最大者的空间,共用体类型uu是结构体的成员,它所占的内存长度为最大成员的长度,即字符型数组u1的长度,即1×5=5。每个整型数据占用2个字节,每个字符型数据占用一个字节,单精度型数据占4个字节,myaa为结构体变量,它所占的存储空间为各个成员所占存储空间的之和,即2+1+4+5=12。
转载请注明原文地址:https://kaotiyun.com/show/xLWp777K
0

最新回复(0)