将变量传递给C中的函数

时间:2014-05-30 21:51:59

标签: c

据我所知,当一个函数被称为时,该函数的一个框被压入堆栈,当函数完成时,我们弹出堆栈帧并返回给调用者。

但是当将变量传递给C中的函数时怎么样?它的工作方式与被调用的方式相同吗?

1 个答案:

答案 0 :(得分:1)

参数传递的技术取决于目标体系结构 - 与RISC体系结构不同,CISC处理器通常没有很多寄存器,因此使用堆栈。统计数据显示,超过90%的函数没有超过6个参数 - 这意味着编译器可以优化所有参数在寄存器中传递的代码(这比通过堆栈传递更快)。