idbd637磁力下载:c语言试题

来源:百度文库 编辑:高考问答 时间:2024/04/28 15:58:44
【1.88】已知:
struct sk
{ int a;
int age;
}date,*p;
如果要使指针p指向data中的成员a,正确的赋值语句是____。
A) p = (struct sk *)&data.a; B) p = (struct sk *)data.a;
C) p = &data.a; D) *p = data.a;

要求要有详细分析解答过程,谢谢!!
参考答案A

难点:
使p指向a,根据结构体的定义语法,p为一个指向结构体sk的指针,而data.a是一个整型的(int)。

所以,首先要对data.a进行取地址操作:&data.a
然后,要对&data.a这个int型指针进行强制类型转换,
(struck sk*)
因此,最后的用一个结构体指针p指向一个int型的变量,
表示为:p = (struct sk *)&data.a;

呵呵,明白了