函数调用的实施步骤:
①跳转到代码区内函数所对应的机器码首地址。
②创建函数栈帧(分配内存空间)。
③进行参数传递先计算实参表达式的值,再赋给形参变量。
④运行机器码。
⑤返回调用点并交出计算结果,该结果即函数调用表达式的值。
①跳转到代码区内函数所对应的机器码首地址。
②创建函数栈帧(分配内存空间)。
③进行参数传递先计算实参表达式的值,再赋给形参变量。
④运行机器码。
⑤返回调用点并交出计算结果,该结果即函数调用表达式的值。
⑥释放运行栈
C语言中,函数调用的一般形式为:函数名(实参列表)
函数之间允许相互调用,也允许嵌套调用;函数还可以自己调用自己,称为递归调用。
函数调用时的内存使用函数调用时使用的是内存的“栈区”,每次调用形成一个栈帧,其中包括调用现场、返回地址、形参表、局部变量等内容。
形实结合时:此时已经得到一个栈帧(形参尚未命名)。然后对实参表达式求值,然后对形参初始化。