C语言中,箭头符号 “->” 和点号符号 “.” 的区别
2024.01.18 05:51浏览量:18简介:在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,并将它们打印到控制台上。
总结:
- 点号“.”用于访问结构体变量的成员,需要先声明变量。
- 箭头符号“->”用于通过指针访问结构体的成员,需要先声明指针并让它指向一个结构体变量。
- 点号和箭头符号都可以用于数组和函数指针的索引。
- 在使用点号或箭头符号时,需要注意数据类型和作用域的问题,以避免出现编译错误或运行时错误。

发表评论
登录后可评论,请前往 登录 或 注册