过程

过程提供了一种封装代码的方式,用一组指定的参数和一个可选的返回值实现某种功能。形式有函数、方法、子例程等。

C 语言使用栈提供的后进先出的内存管理原则。栈和程序寄存器存放着传递控制和数据、分配内存需要的信息。

当 Q 执行时,P 及 P 以上的函数调研暂时被挂起,需要为局部变量分配存储空间,或者设置另一个过程调用。当 Q 返回时,它分配的局部存储空间都会被释放。P 的返回地址也被压入栈中,表示在 Q 返回时,从 P 的返回地址继续执行。

大多数过程间数据传送通过寄存器实现,寄存器最多传递 6 个整型参数,超过 6 个的部分要通过栈来传递。

栈帧结构