在C语言中,->
和.
都是用于访问结构体(struct)成员的运算符,但它们的使用场景略有不同。
1.->
运算符用于访问结构体指针的成员。当你有一个指向结构体的指针时,你可以使用->
运算符来访问该结构体的成员。例如:
cpp
struct Person {
char name[50];
int age;
};
struct Person* p = malloc(sizeof(struct Person));
p->name = "John";
p->age = 30;
在上面的例子中,p
是一个指向Person
结构体的指针,你可以使用->
运算符来访问name
和age
成员。
2..
运算符用于访问结构体的成员。当你有一个结构体变量时,你可以使用.
运算符来访问该结构体的成员。例如:
cpp
struct Person {
char name[50];
int age;
};
struct Person* p = malloc(sizeof(struct Person));
p->name = "John";
p->age = 30;
在上面的例子中,person
是一个Person
结构体变量,你可以使用.
运算符来访问name
和age
成员。
3.总结一下,->
运算符用于访问结构体指针的成员,而.
运算符用于访问结构体变量的成员。