简介:在C语言中,箭头符号“->”和点号符号“.”是用于访问结构体成员的关键字,但它们之间存在一些重要的区别。本文将详细解释这两个符号的区别,并提供一些示例代码来帮助理解。
在C语言中,箭头符号“->”和点号符号“.”都可以用于访问结构体(struct)的成员。然而,它们在使用方式和语义上有一些重要的区别。
在上面的例子中,我们声明了一个名为
struct Student {char name[50];int age;};int main() {struct Student s;s.age = 20;printf("Student name: %s, age: %d", s.name, s.age);return 0;}
Student的结构体,并在main函数中创建了一个该结构体的变量s。然后,我们使用点号来访问s的成员age并将其设置为20。最后,我们使用点号来访问s的成员name和age,并将它们打印到控制台上。在上面的例子中,我们声明了一个指向
struct Student {char name[50];int age;};int main() {struct Student *p;p = &s;(*p).age = 20;printf("Student name: %s, age: %d", (*p).name, (*p).age);return 0;}
Student结构体的指针p,并将它设置为变量s的地址。然后,我们使用箭头符号来访问p所指向的结构体的成员age并将其设置为20。最后,我们使用箭头符号来访问p所指向的结构体的成员name和age,并将它们打印到控制台上。