p的使用方法错误。p是结构体指针,p=&data.a 把p指向了结构体成员,不可以。应该这样p = &data;然后用p操作成员:p->n或者p->a
float *p=&data.x; int *q=&data.n;
这样试试