((我看过几个SO问题,但是没有一个问题可以解决,如果有一个重复的问题我很乐意删除这个问题,似乎以前必须问过一个简单的问题,但我找不到)) >
问题是
:EdX上的基本C编程MOOC显示了当指针传递结构时如何访问函数中结构的成员。 为什么他们在世界上使用&
旁边的*
???
它们显示:scanf("%lf", &(*studptr).aveGrade);
为什么不只在scanf中使用studptr.aveGrade
?
(撇开单独的问题,“为什么不使用scanf”
](要求提供完整示例)
void readStudent(struct student *studptr) {
print("\nEnter a new student record: \n");
printf("First name: ");
scanf("%s", (*studptr).firstName);
printf("Last name: ");
scanf("%s", (*studptr).lastName);
printf("Birth year: ");
scanf("%d", &(*studptr).birthYear);
printf("Average grade: ");
scanf("%lf", &(*studptr).aveGrade);
}
((我看过几个SO问题,但是没有一个问题可以解决,如果有重复的问题我很乐意删除这个问题,好像以前必须问过一个简单的问题,但是我...
因为&
不代表(*stupdtr)
,所以它代表(*studptr).aveGrade
。 .
运算符具有更高的优先级。
这两个符号指的是不同的事物。