在c语言中"->"和"."有什么区别?

能具体点么?
2024-12-04 06:28:07
推荐回答(4个)
回答(1):

对于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

回答(2):

->为指针专用。
例如一个指向struct的指针p
访问成员是可以为:
(*p).Method();

p->Method();
后者是前者的简化。

而 . 则是对象或引用使用的成员运算符

回答(3):

->的左边是对象的指针
.左边是对象本身或者引用

回答(4):

如果是结构指针的成员就用->
如果是结构变量的成员就用.