みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

C言語の「->」の意味

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

投稿日時 - 2009-06-28 01:59:05

QNo.5080298

すぐに回答ほしいです

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

『->』はアロー演算子です

クラスや構造体のメンバーにアクセスする際に用います

たとえば
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;
といった具合に使います

疑問に思っている部分のソースを提示してみるのもひとつの方法ですよ

投稿日時 - 2009-06-28 02:08:12

補足

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

投稿日時 - 2009-06-28 02:35:48

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

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

投稿日時 - 2009-06-28 16:10:49

ANo.2

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

投稿日時 - 2009-06-28 02:20:52

あなたにオススメの質問