数据结构里,有名为goods的结构体,定义这种结构体的指针变量正确的是()。A、struct p;B、struct goods p;C、struct goods;D、goods p;

题目

数据结构里,有名为goods的结构体,定义这种结构体的指针变量正确的是()。

  • A、struct p;
  • B、struct goods p;
  • C、struct goods;
  • D、goods p;

相似考题
更多“数据结构里,有名为goods的结构体,定义这种结构体的指针变量正确的是()。A、struct p;B、struct goods p;C、struct goods;D、goods p;”相关问题
  • 第1题:

    已知有结构体: struct sk { int a; float b; }data,*p; 若有p=&data,则对data的成员a的正确引用是( )。

    A.struct是结构体类型的关键字

    B.st是结构体类型名

    C.x、y、z都是结构体成员名

    D.struct str是结构体类型名


    正确答案:B
    解析: 本题主要考查结构类型的定义:struct是结构体类型的关键字;struct str是结构体类型名;x、 y、z都是结构体成员名;st是结构变量名。

  • 第2题:

    设有定义:

    struct person

    {int ID;char name[12];}P;

    请将scanf(“%d”, 【 】);语句补充完整,使其能够为结构体变量P的成员ID正确读人数据。


    正确答案:&p.ID
    &p.ID 解析:结构体成员的引用通过符号“.”来表示,通过scard语句对变量进行赋值时,要用取地址符&。

  • 第3题:

    若定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 struct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析: 本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

  • 第4题:

    有如下说明和定义语句: struct student { int age; char num{8};}; struct student stu[3]={{20,"200401"},{21,"200402"),{19,"200403"}}; struct student *p=stu; 以下选项中引用结构体变量成员的表达式错误的是( )。

    A.(p++)->num

    B.p->num

    C.(*p).num

    D.stu[3].age


    正确答案:D
    解析:结构体变量也有地址,因此可以把它的地址赋值给一个指针变量,然后通过该指针变量来引用结构体的成员,选项A和选项B就是通过指针变量来引用结构体的成员,故选项A和选项B都正确,也可以通过结构体数组元素的成员引用,选项C和选项D属于这种情况,而在选项D中stu[3].age不正确,因为结构体数组stu共有3个元素,其下标应该为0,1,2。所以,4个选项中选项D符合题意。

  • 第5题:

    有以下说明和定义语句struct student{ int age; char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}};struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是A.(p++)->num B.p->num C.(*p).num D.stu[3].age


    正确答案:D
    引用形式有以下三种:①结构体变量.成员名;②(*p).成员名;③p→成员名。所以A、B、C答案都是正确的。故本题答案为D。

  • 第6题:

    有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把节点b连接到节点a之后的语句是( )。 struct node { char data; struct node *next; }a,b, *p=&a,*q=&b;

    A.a.next=q;

    B.p.next=&b;

    C.p->next=&b

    D.(*p).next=q;


    正确答案:B
    解析:对象成员有两种访问方式:一个是通过对象名,使用“.”运算符来访问;另一个是通过指向对象的指针,使用“->”运算符来访问其成员。因此,选项B的访问方式是错误的。

  • 第7题:

    有以下结构体说明和变量的定义,且如图14-4所示的指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是______。

    struct node { char data; struct node * next; }a,b,*p=&a,*q=&b:

    A.a.next=q;

    B.p.next=&b;

    C.p->next=&b;

    D.(*p).next=q;


    正确答案:B

  • 第8题:

    设有C语句:struct T{int n;double x;}d,*p;,若要使p指向结构体变量中的成员n,正确的赋值语句是()

    • A、p=&d.n
    • B、*p=d.n
    • C、p=(struct T *)&d.n
    • D、p=(struct T *)d.n

    正确答案:C

  • 第9题:

    数据结构里,定义名称为plan结构体,其有5个元素的结构体数组的定义方式是()。

    • A、struct plan数组名[5];
    • B、struct plan数组名[10];
    • C、plan struct数组名[5];
    • D、plan数组名[5];

    正确答案:A

  • 第10题:

    结构体指针的定义方式正确的是()

    • A、struct结构体名 指针变量名;
    • B、struct结构体名;
    • C、struct指针变量名;
    • D、struct指针变量名 结构体名;

    正确答案:A

  • 第11题:

    定义结构体类型的指针变量格式不正确的是()

    • A、struct结构名指针变量名;
    • B、struct结构名*指针变量名;
    • C、struct*指针变量名结构名;
    • D、struct指针变量名结构名;

    正确答案:A,C,D

  • 第12题:

    单选题
    设有C语句:struct T{int n;double x;}d,*p;,若要使p指向结构体变量中的成员n,正确的赋值语句是()
    A

    p=&d.n

    B

    *p=d.n

    C

    p=(struct T *)&d.n

    D

    p=(struct T *)d.n


    正确答案: B
    解析: 暂无解析

  • 第13题:

    有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a 之后的语句是

    struct node

    { char data;

    struct node*next;

    }a,b,*p= &a,*q=&b;

    A.a. next=q;

    B.p. next= &b;

    C.p->next=&b;

    D.(*p).next=q;


    正确答案:B

  • 第14题:

    有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a之后的语句是

    struct node

    { char data;

    stmct node * next;

    } a,b, * p=&a, * q=&b;

    A.a. next=q;

    B.p. next=&b;

    C.p->next=&b;

    D.( * p) .next=q;


    正确答案:B
    解析:要把节点b连接到节点a之后,必须把b的地址给a的next指针,选项A) 中,指针变量 q保存的就是变量b的地址,选项B) 中的p是指针变量,应该是p->next=&b;在选项D) 中,用*运算符取出结构体变量,并且保存的就是b的地址,所以正确。

  • 第15题:

    设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。

    Struct st

    { int x;

    inty;

    int z;

    }

    Struct worker

    { char name[20];

    char sex;

    struct st birth;

    }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析:本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

  • 第16题:

    设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 stmct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析:本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将 birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y\z。

  • 第17题:

    有以下说明和定义语句:struct student{int age; char num[8] ;};struct student stu [3] = { { 20, "200401" } , {21, "200402" } , {19, "200403" } };stract student * p = stu;以下选项中引用结构体变量成员的表达错误的是( )。

    A.(p++) ->num

    B.p- >num

    C.( *p).num

    D.stu[3].age


    正确答案:D
    解析:结构体变量的引用有三种形式:结构体变量.成员名;(*p).成员名;P->,成员名。所以选项A),B),C)都是正确的。

  • 第18题:

    有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是( )。 struct node {chardata; struct node if next; }a,b,*p:&a,*q=&b;

    A.a.next=q;

    B.p.next=&b;

    C.p->next=&b:

    D.(*p).next=q;


    正确答案:B
    解析: 要把结点b连接到结点a之后,必须把b的地址给a的next指针,选项A中,指针变量q保存的就是变量b的地址,选项B中的p是指针变量,应该是p->next=&b;在选项D中,用*运算符取出结构体变量,并且保存的就是b的地址,所以正确。

  • 第19题:

    结构体变量的定义格式正确的是()

    • A、struct变量名;
    • B、结构名变量名;
    • C、struct结构名变量名;
    • D、struct变量名结构名;

    正确答案:C

  • 第20题:

    数据结构里,下列选项中是定义结构体类型的指针变量的格式不正确的是()。

    • A、struct结构名指针变量名
    • B、struct结构名变量名
    • C、static结构名指针变量名
    • D、struct指针变量名结构名

    正确答案:B,C,D

  • 第21题:

    下列选项中是定义结构体类型的指针变量的格式不正确的是()。

    • A、struct结构名 指针变量名
    • B、struct结构名 变量名
    • C、static结构名 指针变量名
    • D、struct指针变量名 结构名

    正确答案:B,C,D

  • 第22题:

    数据结构里,下列选项中是定义结构体类型的指针变量的格式的是()。

    • A、struct结构名指针变量名
    • B、struct结构名变量名
    • C、static结构名指针变量名
    • D、struct指针变量名结构名

    正确答案:A

  • 第23题:

    单选题
    数据结构里,有名为goods的结构体,定义这种结构体的指针变量正确的是()。
    A

    struct p;

    B

    struct goods p;

    C

    struct goods;

    D

    goods p;


    正确答案: D
    解析: 暂无解析