data是一个结构体变量,q是结构体指针。
data.m是一个float类型的变量,不能强制转换成指针,所以B错误
data.m是一个float类型的变量,*q是一个结构体,不能把float类型直接赋值给结构体,所以C错误
&data.m返回的是float类型的指针,是结构体的第一个元素地址,虽然他跟结构体的地址相等,但是需要进行类型转换,所以A是对的,D是错误的。
q不是结构体指针么,让q强制指向int型的变量?看不懂
B选项:m是一个变量,相当于将m值强制转换成了地址值了;
C选项:相当于把data.m的值赋值给了*q,但并没有实现题目的要求,让q指向m域;
D的选项:类型不匹配的,m是int类型,而q是struct sk *类型