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

admin2009-02-15  24

问题 假设有如下定义: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;

答案4

解析 可以通过强制类型转换(struct a *)完成指针赋值。选项A)中&data.n取的是结构体中成员的地址而不是结构的地址,尽管这两个地址的值是相同的,但仍然不允许进行相互赋值;选项B)中的指针p还没有指向一个具体的空间,给其赋值没有意义;选项D)把一个整型变量强制转化为结构类型的指针没有任何实在意义。
转载请注明原文地址:https://jikaoti.com/ti/BoK0FFFM
0

最新回复(0)