niusouti.com

给定C语言的数据结构struct T { int w; union T { char c;int i;double d;)U; }; 假设char类型变量的存储区大小是1字节,int 类型变量的存储区大小是4字节, double 类型变量的存储区大小是8字节,则在不考虑字对齐方式的情况下,为存储一个 struct T类型变量所需要的存储区域至少应为(15)字节。A.4B.8C.12D.17

题目

给定C语言的数据结构struct T { int w; union T { char c;int i;double d;)U; }; 假设char类型变量的存储区大小是1字节,int 类型变量的存储区大小是4字节, double 类型变量的存储区大小是8字节,则在不考虑字对齐方式的情况下,为存储一个 struct T类型变量所需要的存储区域至少应为(15)字节。

A.4

B.8

C.12

D.17


相似考题
参考答案和解析
正确答案:C
解析:在不考虑字对齐规则的情况下,C语言中一个结构体变量的存储区大小就是其所有成员所需存储区大小之和,一个联合体变量的存储区大小就是其各成员所需存储区大小中的最大者。因此题目中给定的联合体union T变量需要的存储区大小就是存储一个 double类型变量的大小(即8字节),struct T类型变量的存储区最小应为int 类型成员w存储区大小(4字节)与union T类型成员U的存储区大小之和,即12字节。
更多“给定C语言的数据结构struct T { int w; union T { char c;int i;double d;)U; }; ”相关问题
  • 第1题:

    C语言中规定,不同类型的数据占用存储空间的长度是不同的。下列各组数据中满足占用存储空间从小到大顺序排列的是()

    A.int , char,float , double

    B.char ,double, int,float

    C.int , char , long int , float

    D.char ,int,float,double


    A

  • 第2题:

    各种基本数据类型的精度排列为()。

    A.int< char <float<double

    B.double<float <int<char

    C.char<int <float<double

    D.float<int <char<double


    A:④ B:② C:③ D:⑤ E:① A:④ B:② C:③ D:⑤ E:①

  • 第3题:

    各种基本数据类型的存储空间正确的长度排列为()。

    A.int < char <double

    B.double <int<char

    C.char<int <double

    D.int <=char<double


    char

  • 第4题:

    6、各种基本数据类型的存储空间正确的长度排列为()。

    A.int < char <double

    B.double <int<char

    C.char<int <double

    D.int <=char<double


    char

  • 第5题:

    各种基本数据类型的存贮空间正确的长度排列为()。

    A.int < char <double

    B.double <int<char

    C.char<int <double

    D.int <=char<double


    C

  • 第6题:

    各种基本数据类型的存贮空间正确的长度排列为 ()。

    A.char<int <double

    B.double <int<char

    C.int < char <double

    D.int <=char<double


    C