在C语言中,.
和 ->
是两种用于访问结构体或联合体的成员的运算符。
1..
运算符:
.
运算符用于通过结构体变量或结构体数组元素直接访问其成员。
例如:
typedef struct {
int x;
int y;
} Point;
int main() {
Point p;
p.x = 10;
p.y = 20;
return 0;
}
在上面的代码中,我们使用 . 运算符来访问 Point 结构体类型的变量 p 的成员 x 和 y。
2. ->
运算符:
->
运算符用于通过指向结构体或联合体的指针来访问其成员。
例如:
typedef struct {
int x;
int y;
} Point;
int main() {
Point p;
Point *ptr = &p;
ptr->x = 10;
ptr->y = 20;
return 0;
}
在上面的代码中,我们首先定义了一个指向 Point 结构体类型的指针 ptr,并让它指向 p。然后,我们使用 ->
运算符来通过指针 ptr 访问 Point 结构体的成员 x 和 y。
总结:.
运算符用于直接通过结构体或联合体的变量访问其成员,而 ->
运算符则用于通过指向结构体或联合体的指针来访问其成员。