系统在实现子程序的调用时,要用栈方式管理调用子程序时的返回地址,子程序调用的内部实现为两个方面:
1、通常,在一个算法中调用另一个算法时,系统需在运行被调用算法之前完成三件事:
(1)将所有实参指针、返回地址等信息传递给被调用算法;
(2)为被调用算法的局部变量分配存储区;
(3)将控制转移到被调用算法的入口。
2、在被调用算法返回调用算法时,系统也相应地要完成三件事:
(1)保存被调用算法的计算结果;
(2)释放分配给被调用函算法的数据区;
(3)依照被调用算法保存的返回地址将控制转移到调用算法。