例如:
已经定义了一个全局变量extern int X
然后在一个函数SUM(int X,int Y,int Z)
我想让这个函数的参数intX调用的是全局变量X
怎么弄?
在调用的地方直接 SUM(X,..., ...); 就可以了
为什么不把函数参数改名呢。函数参数改名,只有这个函数本身的代码需要修改。
你如果X是全局变量的话,这个方法的参数应该不需要int X吧
可以把sum函数后的int X改为X
如果想让函数使用这个的话,不需要将全局变量作为参数,可以直接在函数快里使用,但是函数的参数不能有与全局变量同名的,否则会覆盖全局变量。
在sum函数中用int a =::X 取得a的值即为全局变量X的值
改名是最好的,实在想用的话可以试试指针传递;
调用时直接将X作为参数传入就行了吧
你将这个参数定义成全局的,直接在函数里使用赋值就可以了
正常直接调用就好,
如果是有两段代码文件要合并到一起 ,改变量名称太玛法的话,其实可以用指针来操作变量。
int *X_p=&X;
之后用*X_p代替X
#include
#include
int X = 2;
int *X_p = &X;
void SUM(int y,int z){
*X_p = y+z;
}
void SUM_P(int *X,int y,int z){
*X = y+z;
}
int main()
{
SUM(100,100);
printf("X = %d\n",X);
SUM_P(X_p,200,100);
printf("X = %d\n",X);
return 0;
}
打印分别为200 和300