有什么区别 - >和点

时间:2014-05-09 16:01:24

标签: c ansi-c

在C程序中,当我定义结构时。

在哪种情况下我会使用“ - >”以及“。” ?

例如

typedef struct foo foo;

struct foo{

  double bar;
  double bar2;
}

foo barbar;

何时使用barbar.bar以及何时使用barbar->bar

2 个答案:

答案 0 :(得分:2)

->的左边应该是指针类型,而.的正常变量/实例。

  • 如果您有struct foo myFoo,则应使用myFoo.(&myFoo)->
  • 如果您有struct foo *myFoo,则应使用myFoo->(*myFoo).

答案 1 :(得分:1)

使用->指向结构的指针,因为它取消引用指针,对结构使用.