以下对结构体类型变量td的定义中,错误的是______。A.typedef struct aa { int n; float m; }AA; AA td;B.struct aa { int n; float m; }td; struct aa td;C.struct { int n; float m; }aa;D.struct { int n; float m; }td; struct aa td;

题目

以下对结构体类型变量td的定义中,错误的是______。

A.typedef struct aa { int n; float m; }AA; AA td;

B.struct aa { int n; float m; }td; struct aa td;

C.struct { int n; float m; }aa;

D.struct { int n; float m; }td; struct aa td;


相似考题
参考答案和解析
正确答案:C
解析: 本题的考点是C语言结构体的定义和自定义类型typedef。对于选项A,首先用typedef将结构体自定义为AA,再用AA定义结构体变量td是正确的。对于选项B首先定义结构体类型aa,再用struct aa定义结构体变量td也是正确的。选项D直接用无名结构体定义结构体变量td也是正确的。而选项C中,首先用无名结构体定义了结构体变量aa,再用结构体变量aa去定义结构体变量td是完全错误的。因此正确选项是C。
更多“以下对结构体类型变量td的定义中,错误的是______。A.typedef struct aa { int n; float m; }AA; A ”相关问题
  • 第1题:

    以下对结构体类型变量td的定义中,错误的是

    A.typedef struct aa { int n; float m; }AA; AA td;

    B.stmct aa{ int n;float m;}td;stmct aa td;

    C.struct { int n; float m; }aa; struct aa rd;

    D.struct{ int n;float m;}td;


    正确答案:C
    解析:选项A使用typedef语句给结构体aa定义了—个新的名称AA,因此使用AA直接声明结构体变量td是正确的。选项B中,前面一句是定义结构体同时声明了结构体变量td,后一句是使用结构体名sa声明结构体变量td,都是正确的写法。选项C的第1条语句和选项D使用的是无名结构体直接声明变量的语法,是正确的,但是选项C的第2条语句使用已经声明的结构体变量aa来声明td是错误的.故应该选择C。

  • 第2题:

    以下对结构体类型变量td的定义中,错误的是( )。

    A.typedef struct aa { int n; float m; }AA; AA td;

    B.struct aa { int n; float m; }td; stmct aa td;

    C.stmct { int n; float m; }aa; stmct aa td;

    D.struct { int n; float m; }td;


    正确答案:C
    解析:选项A使用typedef语句给结构体8a定义了一个新的名称AA,因此使用AA直接声明结构体变量td是正确的。选项B中,前面一句是定义结构体同时声明了结构体变量td,后一句是使用结构体名aa声明结构体变量td,都是正确的写法。选项C的第1条语句和选项D使用的是无名结构体直接声明变量的语法,是正确的,但是选项C的第2条语句使用已经声明的结构体变量aa来声明td是错误的。故应该选择c。

  • 第3题:

    【单选题】以下对结构体类型变量td的定义中,错误的是______。

    A.typedefstruct aa {int n; float m; }AA; AAtd; struct aa td;

    B.struct aa { int n; float m; }; struct aa td;

    C.struct {int n; float m; }aa; struct aa td;

    D.struct { int n; float m; v


    C 解析:选项C中的aa本身就为结构体变量名,所以不能再用它来定义结构体变量,故此种定义方法是错误的。

  • 第4题:

    以下对结构体类型变量td的定义中,错误的是( )。

    A.typcdef struct aa { int n; float m; } AA; AA td;

    B.struct aa {int n; float m; } struct aa td;

    C.struct {int n; float m; } aa; struct aa td;

    D.struct {int n; float m; }td;


    正确答案:C
    解析:选项A)中typedef的作用是声明一个新的类型名AA代替已有的结构体类型名struetaa,然后用AA定义结构体类型变量td;选项B)直接用结构体类型名structaa定义结构体类型变量td;选项C)中的aa本身就为结构体变量名,所以不能再用它来定义结构体变量,该项错误;选项D)省去了结构体名,直接将td定义为结构体变量,正确。

  • 第5题:

    以下对结构体类型变量td1的定义中,不正确的是()。

    A.#define AA struct aa AA { int n; float m; } td1;

    B.struct { int n; float m; } td1;

    C.struct aa { int n; float m; }; struct aa td1;

    D.struct { int n; float m; } aa; stuct aa td1


    D