我正在尝试将 ptr 设置为指向结构数组中的第一个元素,这样当我回到我的主函数时,我可以弄乱它(这就是我不能在主函数中使用 vArray[0] 的原因)。
但是,使用此代码,它只允许我访问 alg 函数中的结构成员。一旦它返回到 main,它的所有元素现在都为 null。(我认为这与按值传递/按引用传递问题有关)。有任何解决这个问题的方法吗?
void alg(struct vars v[], struct vars *ptr)
{
ptr = &vars[0];
printf("%s", ptr->value); //this works here
}
int main()
{
struct vars vArray[100]; //this has been filled earlier in the code
struct vars *ptr;
alg(vArray, ptr);
printf("%s", ptr->value); //but now this returns null here
}