p->x等价于a[0].x
条件表达式返回结果是1.
a是结构体数组,p是结构体指针,p=a,所以p仍然是数组a的首地址,所以p->x也就是a[0].x
*p = a,p->x相当于a[0].x,指针和数组首地址一样
第二题>的优先级高于!=,所以先执行j>k,由于j=2,k=3,所以结果为0,然后执行i!=0,由于i为1,所以i!=0成立,结果为1
如果你理解基础类型的指针赋值,那这个就好理解了,把struct{int x;float y;}类比成int,它就是表示一个类型而已,所以struct{int x;int y;} a[10]同理为int a[10], struct{int x; int y;} *p同理为int *p, p毫无疑问就是&a[0],不管是int a[10]还是struct{int x;int y;} a[10];