【发布时间】:2016-03-10 16:14:21
【问题描述】:
我想将我的 v->x 从我的函数“calculations_using_struct_values”传递给我的“int main”函数。为了让我的“int main”函数和“int main”原型运行程序,我必须在括号内写什么。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void calculations_using_struct_values(struct test *v);
int main();
struct test
{
int x,y,z;
char *name;
};
void struct_values()
{
test variable;
variable.x=50;
variable.y=100;
variable.z=150;
calculations_using_struct_values(&variable);
return;
}
void calculations_using_struct_values(struct test *v)
{
int a=5;
v->x +=a;
main();
}
int main()
{
return 0;
}
【问题讨论】:
-
假设一个托管环境:您不应为
main提供声明(您会这样做 - 您的编译器是否已经发出警告?)。 OTOH,main在没有原型的情况下调用它时未定义。仅此一项就可以强烈暗示从代码中的另一个函数调用main是一个非常糟糕的主意。事实上,这被认为是非常糟糕的做法 - 只是不要!并且不要使用旧式声明符,而是正确的原型。
标签: c parameter-passing pass-by-reference