C中的这个运算符( - >)是什么?

dik*_*era -1 c operators

可能重复:C中的
箭头运算符( - >)用法

据我所知,只有C++可以使用类(obj->某些东西)但是我在很多C应用程序中看到过这个运算符.

还有一个小问题.通常一个人使用C中的结构,如下所示:

structname.somevariable
Run Code Online (Sandbox Code Playgroud)

但是,我看到他们使用像:

structname.something1.something2
Run Code Online (Sandbox Code Playgroud)

它与关键字union有关吗?

Meh*_*dad 7

struct A
{
    int b;
};

struct A *a;

a->b  ==  (*a).b;
Run Code Online (Sandbox Code Playgroud)

不,这与工会无关.它只是成为会员的一员.

  • 和(*a).b是? (2认同)

Arm*_*yan 5

如果你有一个指向结构对象的指针,比如

 struct P * p;
Run Code Online (Sandbox Code Playgroud)

你访问成员 ->

 p->member
Run Code Online (Sandbox Code Playgroud)

如果p不是指针,则使用 .

struct P p;
p.member
Run Code Online (Sandbox Code Playgroud)

任何 C书都涵盖了这一点:P