目录: 标题| 题干| 答案| 搜索| 相关
问题

若有如下说明和定义struct test{ int ml; char m2;


若有如下说明和定义struct test{ int ml; char m2; float m3; union uu {char ul[5]; int u2[2];} ua;} myaa;则sizeof(struct test)的值是A.12 B.16 C.14 D.9

  • A12
  • B16
  • C14
  • D9
参考答案
参考解析:

在本题中,首先定义了一个结构体。在该结构体中,定义了一个整型变量成员、一个字符型变量成员和一个浮点型变量成员,并在结构体中定义了一个联合体变量成员,联合体变量成员中又包含两个联合体成员数组。题目最后要求计算该结构体变量所占的存储空间。在C语言中,联合体变量中的所有成员共享存储空间,联合变量的长度等于各成员中最长的长度,因此,本题的联合体部分所占的长度为5,但是结构体与联合体不一样的是,结构体不能共享空间,一个结构体变量的总长度是各成员长度之和,因此,该结构体所需的存储空间为5+1+2+4=12。本题的正确答案选A。

分类:其他
相关推荐

1、若有以下结构体,则正确的定义或引用的是struct Test{int x;i

若有以下结构体,则正确的定义或引用的是struct Test{int x;int y;} vl;ATest.x=10;BTest v2;v2.x=10;Cstruct v2;v2.x=10;Dstruct Test v2={10};

2、struct test{ Char a[3]; Int b[4]; Sho

struct test{Char a[3];Int b[4];Short c[5];};一个test类型数据占用()个字节的空间。A28B29C30D32

3、若有下面的说明和定义struct test{ int ml; char m2

若有下面的说明和定义struct test{ int ml; char m2; float m3;union uu {char ul[5]; int u2[2];} ua;} myaa;则sizeof(struct test )的值是A12B16C14D9

4、设有如下说明:typedef struct{int n;char c;dou

设有如下说明:typedef struct{int n;char c;double x;}STD;有以下选项,能正确定义结构体数组并赋初值的语句是( )。ASTD ttr2]={{1,A,62),{2,B,75}};BSTD tt[2]={1,"A...

5、有如下定义struct person{char name[9];int ag

有如下定义struct person{char name[9];int age;};struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根据上述定义,能输出字母M的语句是Aprintf(...

6、有以下说明和定义语句struct student{ int age; cha

有以下说明和定义语句struct student{ int age; char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{109,"200403"}};struct student *p=stu;以下选项...