C语言中->是什么意思?

1 个回答

Coco老师 - 科普专家
擅长:编程教育

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语言中结构体指针使用的一种指向运算符,与.的作用一样,用于访问结构体成员。不同的是.只能用于变量,->只能用于指针,这是两者的区别