对于C语言,->和.操作符,主要是用在对结构体变量 成员的引用上。
例如:
// 首先定义一个结构体类型 POINT
typedef struct point
{
int x;
int y;
} POINT;
// 再用结构体POINT类型来声明一个指针变量p和一个普通变量q
POINT *p; // p为指针变量
POINT q; // q为普通变量
在需要引用结构体成员变量x,y的时候,
对于指针变量p 的写法应为: p->x 和 p->y
而对于普通变量q的写法应为: q.x 和 q.y
->为指针专用。
例如一个指向struct的指针p
访问成员是可以为:
(*p).Method();
或
p->Method();
后者是前者的简化。
而 . 则是对象或引用使用的成员运算符
->的左边是对象的指针
.左边是对象本身或者引用
如果是结构指针的成员就用->
如果是结构变量的成员就用.