函数可以大大减少我们程序的代码量,使代码写起来更加的简洁,使代码思路更加清晰。是我们程序猿在编写代码时必不可少的。
那么函数的调用过程就非常的重要,今天让我们来从一个深的角度去了解一下函数的调用过程。
函数的调用过程也可以叫做栈帧
栈帧的定义是:栈帧也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构。
每一次函数的调用,都会在内存中为自己申请一块空间,这个空间就叫函数运行时堆栈,也就是栈帧。
这块空间就像栈一样,都需要去维护,栈顶又寄存器ESP去维护,栈底呢就又寄存器EBP去维护。
接下来我们写一个简单的代码,去更加具体的了解我们的函数调用过程。
#include<stdio.h>
int mai