数据结构里,有名为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题:

已知函数的原形如下,其中结构体a为已经定义过的结构,且有下列变量定义

struct a *f(int t1,int *t2,strcut a t3,struct a *t4)

struct a p,*p1;int i;

则正确的函数调用语句为

A.&p=f(10,&i,p,p1);

B.p1=f(i++,(int *)p1,p,&p);

C.p=f(i+1,&(i+2),*p,p);

D.f(i+1,&i,p,p);


正确答案:B

第2题:

已知有结构体: 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是结构变量名。

第3题:

有以下程序段

typedef struct node { int data; struct node *next; } *NODE;

NODE p;

以下叙述正确的是

A)p 是指向 struct node 结构变量的指针的指针

B)NODE p ;语句出错

C)p 是指向 struct node 结构变量的指针

D)p 是 struct node 结构变量


正确答案:C

第4题:

若定义下列结构体,结构体变量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。

第5题:

设有定义:

struct person

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

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


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

第6题:

有以下说明和定义语句 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就是通过指针变量来引用结构体的成员,也可以通过结构体数组元素的成员引用,而在选项D中stu[3].age不正确,因为结构体数组stu共有三个元素,其下标应该为0,1,2。

第7题:

有以下结构体说明和变量的定义,且指针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题:

有以下程序段 typedef struct node { int data; struct node *next; } *NODE; NODE p; 以下叙述正确的是( )。

A.p是指向struct node结构变量的指针的指针

B.NODE p;语句出错

C.p是指向struct node结构变量的指针

D.p是struct node结构变量


正确答案:C

第9题:

有以下结构体说明和变量的定义,且指针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的地址,所以正确。

第10题:

设定义下列结构体,结构体变量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。

更多相关问题