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

admin2016-04-07  30

问题 有如下定义:
    struct st
    {int x;float y;}ree,*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://kaotiyun.com/show/utDp777K
0

最新回复(0)