ドット演算子とアロー演算子

ドット演算子とアロー演算子は構造体のメンバーを表すという機能はほとんど同じですが、使う上では違いがあります。

ドットは実体に、アローはポインタにつける

例えばlistという構造体があったとします。

struct list {
  int key;
  struct list *next;
};

この構造体から構造変数を作ります。
 struct list *new; (ポインタ変数として)
 struct list tmp;  (構造体変数として)

この場合、newは構造体へのポインタを持ち、temは変数の実体を持っています。
従って、メンバー関数の呼び出しは前者がアロー演算子、後者がドット演算子を使います。

カテゴリー: C パーマリンク