0

この構造内の構文の一部については明確ではありません。誰かx->がコードの次の部分を説明してください。それは何をしますか?それは逆参照の別の方法ですか?

void rectangle_init(t_rectangle *x)
{
    x->x0=-1;
    x->y0=-1;
    x->x1=1;
    x->y1=1;
}
4

2 に答える 2

9

->演算子は、メンバーの逆参照とアクセスの省略形です。あなたが書くとき

x->x0

まるであなたが書いたかのようです

(*x).x0

短縮形が導入されたのは、ポインターを介して s のメンバーにアクセスすることが頻繁に発生structし、「元の」構文が不必要に複雑に見えるためです。

于 2012-08-16T15:51:09.537 に答える
1

一般に: *x のようなポインターがあり、x の要素を変更したい場合は、 x->xxx = ... を使用します。ポインターでない場合 (例: y)、 y.xxx = を使用します。 ..

于 2012-08-16T15:55:20.860 に答える