更多“已知如下定义,则sizeof(a)的值是struct{int i; char c; double a;}a;A.8B.9C.10D.11 ”相关问题
  • 第1题:

    有如下函数模板: template T cast(Uu){ return u;} 其功能是

    有如下函数模板: template<typename T,typename U> T cast(Uu){ return u;} 其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是

    A.cast(i);

    B.cast<>(i);

    C.cast<char*,int>(i);

    D.cast<double,int>(i);


    正确答案:D
    解析:本题考查的知识点是模板函数的调用。在调用一个模板函数时,编译系统需要足够的信息来判别每个虚拟类型参数所对应的实际类型,可以从两个不同的渠道获得这样的信息:从模板的实参表(用<和>括起来的参数表)或从模板函数实参表 (用(和)括起来的参数表),模板实参的信息优先于函数实参的信息。如果从后者获得的信息已经能够判定其中部分或全部虚拟类型参数所对应的实际参数,而且它们又正好是参数表中最后的若干参数,则模板实参表中的那几个参数可以省略。如果模板实参表中的实参都被省略了,则连空表<>也可以不要。本题中cast()函数的实参 i只能确定模板参数u的类型为int,而不能确定另外一个模板参数T。故选项A与B不正确。选项C希望将int转型为char*,C++中不允许隐式的这样转换类型,所以也不正确。故应该选择D。

  • 第2题:

    7、下列各项中值最大的是:

    A.sizeof(int)

    B.sizeof(char)

    C.sizeof(float)

    D.sizeof(double)


    A

  • 第3题:

    假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof(a[0] )的值为______。

    假设sizeof(int)的值为4,对数组定义:int a[3][6];则sizeof(a[0] )的值为______。


    4

  • 第4题:

    变量W_data定义如下:union data_node{float ff'int n;char ch;}W_data;则变量W_data所占的内存存储空间可表示为______。

    A.sizeof(int)
    B.sizeof(char)
    C.sizeof(float)
    D.sizeof(int)+sizeof(char)+sizeof(float)

    答案:C
    解析:
    本题考查C语言编程的基本知识。本题中变量W_data类型为联合。联合中所有数据项占有相同的内存空间。联合体所占的内存存储空间为所包含数据项所占的内存存储空间的最大值。

  • 第5题:

    假设 sizeof(int) 的值为4,已知数组定义:int a[3]; 则sizeof(a[0])的值为______。

    A.4

    B.12

    C.0

    D.3


    24