niusouti.com
更多“设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占2个字节) ( ) struct date { ”相关问题
  • 第1题:

    设有以下语句:typedef struct TY{char C;int a{4 1;}CIN;

    则下面叙述中正确的是( )。

    A.CIN是struct Tr类型的变量

    B.TT是struct类型的变量

    C.可以用,lr定义结构体变量

    D.可以用CIN定义结构体变量


    正确答案:D
    本题考查typcdef重新声明一种结构体类型,其中CIN为结构体类型名,而不是结构体变量,所以D选项正确。

  • 第2题:

    设有以下定义和语句,输出的结果是(用small模式编译,指针变量2个字节)______。 struct date { long *cat; struct date *next; double dog; }too; printf("%d",sizeof(too));

    A.20

    B.16

    C.14

    D.12


    正确答案:D
    解析:sizeof函数计算已知类型所占的字节数。结构体变量所占内存长度是各成员占的内存长度之和。指针变量占2个字节,所以cat和*next各占2个字节;double型占8个字节,故too共占12个字节。

  • 第3题:

    20、在xdata存储区里定义一个指向char类型变量的指针变量px的下列语句中,()是正确的(默认为SMALL编译模式)。

    A.char * xdata px;

    B.char xdata * px;

    C.char xdata * data px;

    D.char * px xdata;


    char *xdata px;

  • 第4题:

    设有以下语句: typedef struct TT {char c; int a[4];}CIN; 则下面叙述中正确的是( )。

    A.可以用TT定义结构体变量

    B.TT是struct类型的变量

    C.可以用CIN定义结构体变量

    D.CIN是struct TT类型的变量


    正确答案:C
    解析:将题目中的定义语句去掉前面的typedef和后面的CIN(分号保留),就是一条完整的结构体定义语句,其中struct是说明符,TT是结构体名,大括号里面的是结构体成员的定义。此时要声明该结构体变量时需要使用struct加结构体名一起来声明,structTT一起构成一个结构体类型,就好像字符类型char。若只去掉前面的typedef,就是一条结构体定义同时声明个结构体变量CIN的语句,因为CIN的前面部分是structTT的完整写法,可以看作是structTT。C语言允许用typedef说明一种新类型名,其语法格式为:typedef类型名标识符;以后就可以用该标识符来代替被说明的类型名了。因此,当前面存在typedef时,该语句就变成了给structTT的定义一个新的名称CIN。所以,此时的CIN是一个结构体类型,它相当于structTT,即可以和char一样单独用来声明该结构体变量,而TT只是一个结构体名,不能单独用来声明变量。所以,4个选项中C符合题意。

  • 第5题:

    设有以下定义和语句,输出的结果是(用small模式编译,指针变量占2个字节)______。 struct date { long*cat; struct date *next; double dog; }too; printf("%d",sizeof(too));

    A.20

    B.16

    C.14

    D.12


    正确答案:D
    解析:sizeof函数计算已知类型所占的字节数。结构体变量所占内存长度是各成员占的内存长度之和。指针变量占2个字节,所以cat和*next各占2个字节;double型占8个字节,故too共占12个字节。