设有以下定义: struck sk { int a; float b; }data; int *p; 若要使p指向data中的a域,正确的赋值语句是( )。

admin2013-06-11  35

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

答案4

解析 p定义为指针变量。选项A中对结构体分量a的引用错误,应为data.a。选项B中data.a是取分量的值,它是一个整型数据,而p的值应为地址,所以不能将data.a赋值给p。&为取地址符,取分量data.a的地址赋值给p,是正确的赋值语句。*是间接访问运算符,选项D中的浯句是将分量data.a的值赋值给p所指存储单元,*p相当于一个变量,而不能实现使p指向data中的a域。
转载请注明原文地址:https://kaotiyun.com/show/ikJp777K
0

最新回复(0)