选择题
有如下定义:
struct st
{ int x;float y;} rec,*px;
若要使指针px指向rec的成员x,正确的赋值语句是______
A、
px=(struet st*)&rec.x;
B、
px=(struet st*)rec.x;
C、
px=&rec.x;
D、
*px=rec.x;
【正确答案】
A
【答案解析】
rec.x表示整型变量,强制转化为struet st类型的指针赋给px后,px并不指向rec的x,选项B错误;&rec.x是整型变量的地址,不能直接赋给struct st类型的指针,选项C错误;px未初始化,指向未知内存单元,将rec.x(整数值)赋值给该内存单元是很危险的,并且这种方法也不能使px指向rec的成员x,px依然指向未知内存单元,选项D错误;&rec.x是rec的成员x的地址,这是整型指针,经过强制转化后,赋值给px,可以使px指向rec的成员x。答案为选项A。
提交答案
关闭