有如下定义 struct st { int x; float y;} rec,*px; 若要使指针px指向rec的成员x,正确的赋值语句是

admin2015-11-24  16

问题 有如下定义
struct st
{  int x;  float y;} rec,*px;
若要使指针px指向rec的成员x,正确的赋值语句是

选项 A、px=(struct st*)&rec.x;
B、px=(struct st*)rec.x;
C、px= &rec.x;
D、*px=rec.x;

答案A

解析 rec.x表示整型变量,强制转化为struct 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选项。
转载请注明原文地址:https://jikaoti.com/ti/aLkiFFFM
0

相关试题推荐
最新回复(0)