在C语言中,使用 "." 和 "->" 运算符访问结构体指针中的成员变量的区别在于,"." 运算符是用来访问结构体变量中的成员变量的,而 "->" 运算符是用来访问结构体指针中的成员变量的。
当你需要访问一个结构体定义变量的成员变量时应该使用 "." 运算符,如下所示:
struct Student {
char name[20];
int age;
float score;
};
int main() {
struct Student stu = {"David", 18, 88.5};
printf("Name: %s\n", stu.name);
printf("Age: %d\n", stu.age);
printf("Score: %f\n", stu.score);
return 0;
}
在这个例子中,我们定义了一个名为 stu 的结构体变量,并使用 "." 运算符分别访问并打印了其成员变量的值。
当你需要访问一个结构体指针中的成员变量时,应该使用 "->" 运算符,如下所示:
struct Student {
char name[20];
int age;
float score;
};
void printStudent(struct Student *stu) {
printf("Name: %s\n", stu->name);
printf("Age: %d\n", stu->age);
printf("Score: %f\n", stu->score);
}
int main() {
struct Student stu = {"David", 18, 88.5};
printStudent(&stu);
return 0;
}
在这个例子中,我们定义了一个名为 stu 的结构体变量,并将其地址传递给 printStudent 函数,该函数使用 "->" 运算符访问并打印了结构体指针中的成员变量的值。
总之,当我们需要访问结构体变量中的成员变量时,应该使用 "." 运算符,而当我们需要访问结构体指针中的成员变量时,应该使用 "->" 运算符。