在一个函数被调用之前系统做的三件事:
1、将所有的实在参数,返回地址等信息传递给被调用函数保存。
2、为被调用函数的局部变量分配存储区。
3、将控制入口转移到被调函数的入口。
以上第二步可见,在被进入调用函数之前就已经对其内部的局部变量进行分配空间,所以调用函数内部最好不要有重复的局部变量(这里重复的局部变量比如第一个if条件句里面定义了一个int p;然后又在一下一个if()条件句定义了一个int p.这样容易出错)。
被调用函数返回调用函数之前系统做的三件事:
1、保存调用函数的计算结果
2、释被调用函数的数据区
3、依照被调用函数的保存的返回地址将控制转移到调用函数。