• ベストアンサー

C言語の「->」の意味

C言語のソースを見ていて「->」という演算子が出てくるのですが、意味が分かりません。どんな意味なんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

『->』はアロー演算子です クラスや構造体のメンバーにアクセスする際に用います たとえば class A { public:   A(){ strcpy( ss, "" );}   char ss[256]; } といったクラスがある場合 静的なclass Aのオブジェクトからssをアクセスするには『.』を使います  A objA;  strcpy( objA.ss, "123456"); といった具合です 動的なclass Aのオブジェクトには『->』を使います  A *pobjA = NULL;  pobjA = new A();  strcpy( pobj->ss, "123456");  // newで生成したオブジェクトは不要になったら deleteする  delete pobjA; といった具合に使います 疑問に思っている部分のソースを提示してみるのもひとつの方法ですよ

usamikacho
質問者

補足

ソースはこうなっています。 if(v) { v -> x = x1; v -> y = y1; v -> z = z1; }

その他の回答 (2)

  • prophetok
  • ベストアンサー率44% (13/29)
回答No.3

静的か動的は関係ありません。 構造体変数のポインタからメンバを参照するにはアロー演算子 -> 構造体変数自体からメンバを参照するにはドット演算子 .

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

p->member と (*p).member が等価.

関連するQ&A