C语言,关于结构体的问题??

2025-05-20 19:39:28
推荐回答(2个)
回答1:

C选项写法没错的,你说的对,pt->y是对的,但是y也是指针,所以那个*号不是取pt的地址,而是y的地址,那么指针变量y指向的数组a的首地址,a[0]为1,所以*pt->y=1;

(pt++)->x答案不是10,而是20,pt++已经将指针偏向下一个结构体了,下一个结构体是{20,b},所以x的值为20才对

回答2:

->优先级高于*,因此*pt->y被解释为*(pt->y)而不是(*pt)->y。它表示先取pt指针指向的结构体的y成员的值,然后对这个值解引用。