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

admin2009-01-15  36

问题 若有下面的说明这定义: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。所以,4个选项中A为所选。
转载请注明原文地址:https://jikaoti.com/ti/DbK0FFFM
0

最新回复(0)