传递值以进一步调用调用堆栈

时间:2017-02-24 21:26:54

标签: c function parameter-passing

正如我的主题所说,我想知道一种方法,将值发送给另一个函数调用的函数。例如:

int main(){
 int sendingvalue=funtionreturningvalue();
 int x=0;
 function1(x);
}

function1(int x){
 //some code here 
 function2(x);
}

function2(int y){
 //again some code here
  function3();
}
function3(){
 //here I need the top value sendingvalue
}

在所有函数中一次又一次地明确传递int sendingvalue直到达到function3为止是没用的。那么传递这个值的最佳选择是什么?

1 个答案:

答案 0 :(得分:0)

有两种选择。您可以将其设为全局变量,也可以将其传递给每个函数。

要使其成为全局变量,请在所有函数定义之外添加以下行:

int sendingvalue;

然后您可以访问修改并从任何函数中读取它。如果您不想使用全局变量,则必须将其传递给堆栈。