-> 访问符意思
->
在C语言中称为间接引用运算符,是二目运算符,优先级同成员运算符“.”搜索。
用法:
p->a
,其中p是指向一个结构体的指针,a是这个结构体类型的一个成员。表达式p->a
引用了指针p指向的结构体的成员a。
例如:
struct T
{
int a;
char b;
}s;
struct T *p=&s;
那么,
`p->a`相当于`s.a`。
显然,有个等价写法:(*p).a
,和p->a
完全等效。
#include <stdio.h>
int main(){
struct{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在小组
float score; //成绩
} stu1 = { "Tom", 12, 18, 'A', 136.5 }, *pstu = &stu1;
//读取结构体成员的值
printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.1f!\n", (*pstu).name, (*pstu).num, (*pstu).age, (*pstu).group, (*pstu).score);
printf("%s的学号是%d,年龄是%d,在%c组,今年的成绩是%.1f!\n", pstu->name, pstu->num, pstu->age, pstu->group, pstu->score);
return 0;
}
运行结果:
Tom的学号是12,年龄是18,在A组,今年的成绩是136.5!
Tom的学号是12,年龄是18,在A组,今年的成绩是136.5!
Last updated
Was this helpful?