假设有如下定义:struct a{int n;float k}data,*p;若要使p指向data中的成员n,正确的赋值语句是A.p

题目

假设有如下定义:struct a{int n;float k}data,*p;若要使p指向data中的成员n,正确的赋值语句是

A.p=&data.n;

B.*p=data.n;

C.p=(struct a*)&data.n;

D.p=(struct a*)data.n;

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有定义:int n=0,*p=&n,**q=&p;,则以下选项中,正确的赋值语句是( )。

A.p=1;

B.*q=2;

C.q=p;

D.*p=5;


正确答案:D
解析:本题中首先定义了整型变量n,其初值为0,接着定义一个指针变量p并让它指向n,然后定义了一个指向指针的指针变量q,并让它指向p。选项A中将常量1赋给指针p,而p的值应为地址,所以不正确。选项B中*p的值也应为地址,故将常量 2复制给*p不正确。选项C中将p的值赋给q,使q也指向p所指向的存储单元,该存储单元中存放的是常量0,而q被定义为一个指向指针的指针变量,它所指向的存储单元中应该存放的是地址值,故不正确。所以,4个选项中选项D符合题意。

第2题:

设有如下定义:

struck sk

{ int a;

float b;

} data;

int *p;

若要使P指向data中的a域,正确的赋值语句是

A.p=&a;

B.p=data.a;

C.p=&data.a;

D.*p=data.a;


正确答案:C

第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题:

已知有如下结构体:

struct sk

{ int a; float b; }data,*p;

若有P=&data,则对data的成员a引用正确的是( )。

A.(*p).data.a

B.(*p).a;

C.p->data.a

D.p.data.a


正确答案:B
本题主要考查结构指针:P=&data,访问结构体的成员。它可以通过结构变量访问,即data,可以用等价的指针形式:(*p).a和P->a来访问结构体变量中的成员。

第5题:

现有如下定义:struct aa{int a;float b;char c;}*p;现需用malloc函数动态的申请一个struct aa类型大小的空间(由p指向),则定义的语句为: 【17】 。


正确答案:
p=(struct aa *) malloc (sizeof(struct aa));

第6题:

已知有如下结构体:

struct sk

{ int a;

float b;

}data,*p;

若有P=&data,则对data的成员a引用正确的是( )。

A.(*p).data.a

B.(*p).a;

C.p->data.a

D.p.data.a


正确答案:B

本题主要考查结构指针:P=&data,访问结构体的成员。它可以通过结构变量访问,即data,可以用等价的指针形式:(*p).a和P->a来访问结构体变量中的成员。

第7题:

现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是

A.p=&a;

B.q=&b;

C.p=q;

D.p=a;


正确答案:D

第8题:

有定义如下:struct sk{ int a;float b;}data,*p;如果p=&data;则对于结构变量data的成员a的正确引用时( )A)(*).data.a B)(*p).aC)p->data.a D)p.data.a


正确答案:B
结构体变量的引用。

第9题:

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

A.(*p).data.a

B.(*p).a;

C.p->data.a

D.p.data.a


正确答案:B
解析:本题主要考查结构指针:p=&data,访问结构体的成员,可以通过结构变量访问,即data.a,也可以用等价的指针形式:(*p).a和p->a来访问结构体变量中的成员。

第10题:

设有如下定义: struct sk { int a;float b; } data; int *p; 若要使p指向data中的a域,正确的赋值语句是( )。

A.p=&a;

B.p=data.a;

C.p=&data.a;

D.p=a;


正确答案:C
解析:要注意不能将结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员进行输入和输出。引用结构体变量中成员的方式有以下几种:结构体变量名.成员名;指针变量名->成员名;(*指针变量名).成员名。

更多相关问题