C语言中,->是指针才可以使用的访问结构体成员的运算符
比如一段程序中有一个结构体:
struct Data
{
int a;
int b;
}
struct Data A;
sruct Data *p=&A
此时我们定义一个struct Data类型的变量A,再定义一个指针类型p
如果通过变量名A访问结构体中的成员则则以用.的方式访问,比如为a赋值,则写成:
A. a=10;
如果用指针p来访问赋值,则可以写成:
p->a=10;
两者意义等价,第二种就是我们用到的->,可以理解为指向,左侧必须为指针!
因此,可以看到,->是C语言中结构体指针使用的一种指向运算符,与.的作用一样,用于访问结构体成员。不同的是.只能用于变量,->只能用于指针,这是两者的区别
下回,在C语言中看到这样的代码就不会奇怪,就能看得懂啦!
怎么样,看明白了吗?