设有下列定义:struct sk{int m;float x;)dara,*q;若要使q指向data中的m域,正确的赋值语句是()。A.

题目

设有下列定义: struct sk { int m; float x; )dara,*q; 若要使q指向data中的m域,正确的赋值语句是( )。

A.q=&data.m;

B.*q=data.m;

C.q=(struct sk*)&data.m;

D.q=(struct sk*)data.m;

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

第1题:

设有如下定义:

struct sk

{ int m;

floatx;

}data,*q;

若要使q指向data中的m域,正确的赋值语句是( )。

A)q=&data.m;

B)*q=data.m;

C)q=(struct sk*)&data.m;

D)q=(struct sk*)data.m;


正确答案:C

第2题:

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

A.q=&data.m;

B.q=data.m;

C.q=(struct sk*)&data.m;

D.q=(struct sk*)data.m;


正确答案:C
解析:利用强制类型转换(structsk*),把整数型地址&data.m转换成结构体变量指针赋给结构体指针变量q。

第3题:

设有如下定义: 若要使P指向data中的n域,正确的赋值语句是( )。A. B. C. S

设有如下定义:若要使P指向data中的n域,正确的赋值语句是( )。

A.

B.

C.

D.


正确答案:C
本题主要考查了结构体变量引用成员数据的方法,主要有以下两种:结构体变量名.成员名或结构体指针_>成员名。

第4题:

设有以下定义: 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
解析:p定义为指针变量。选项A中对结构体分量a的引用错误,应为data.a。选项B中data.a是取分量的值,它是一个整型数据,而p的值应为地址,所以不能将data.a赋值给p。&为取地址符,取分量data.a的地址赋值给p,是正确的赋值语句。*是间接访问运算符,选项D中的浯句是将分量data.a的值赋值给p所指存储单元,*p相当于一个变量,而不能实现使p指向data中的a域。

第5题:

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

A.q=&data.m;

B.*q=data.m;

C.q=(struct sk*)&data.m;

D.q=(struct sk*)data.m;


正确答案:C

第6题:

设有如下定义: 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=data.a;


正确答案:C
解析:data是一结构体变量,a是它的成员,因此引用a域的正确方法是: data.a,取它的地址赋值给指针变量P的语句应该是:p=&data.a。选项A,将a的地址直接赋给了p,而忽略了a为结构体内部的一个成员,而不是一单独的变量;选项B在p=da- ta.a表达式中右边为一个结构体变量的成员不是地址,而左边为一指针应该将一地址赋给它;选项D表达式*p=data.a是将结构体变量中的成员a的值赋给指针p所指向的变量值,而不是使指针p指向data中的a域。

第7题:

设有下列定义:

struct sk

{ int m;

float x;

}data,*q;

若要使q指向data中的m域,正确的赋值语句是( )。

A.q=&data.m;

B.*q=data.m;

C.q=(struct sk*)&data.m;

D.q=(struct sk*)data.m;


正确答案:C
解析:利用强制类型转换(street sk*),把整数型地址&data.m转换成结构体变量指针赋给结构体指针变量q。

第8题:

设有如下定义: 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=data.a;


正确答案:C

第9题:

设有如下定义: 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
解析:要注意不能将结构体变量作为一个整体进行输入和输出,只能对结构体变量中的各个成员进行输入和输出。引用结构体变量中成员的方式有以下几种:结构体变量名.成员名;指针变量名->成员名;(*指针变量名).成员名。