下面的代码返回“错误:请求成员‘height’不是结构或 union ”。在调用 doStuff
之后,我希望看到 bob
的高度从 4 变为 5。谁能告诉我为什么这不起作用?谢谢!
#include <stdio.h>
#include <stdlib.h>
struct person{
int height;
int weight;
};
void doStuff(struct person *chris);
int main(){
struct person bob = {4,4};
doStuff(&bob);
printf("%d", bob.height);
return 0;
}
void doStuff(struct person *steve){
steve.height = 5;
}
最佳答案
steve
是一个指向结构的指针,所以不是
steve.height = 5;
尝试
steve->height = 5;
或者更麻烦一点
(*steve).height = 5;
关于C - 更改通过引用传递给函数的结构的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26153920/