一、函数调用模型:
返货都是先以返回地址,函数参数,执行状态的顺序依次压栈的,函数执行完毕再从上到下依次弹栈。
二、函数调用模型中的内存管理
还是以上面那个图为例:
1、main函数中,可以在栈区、堆区、全局区开辟空间,这些内存空间都可以在fa和fb函数中使用
2、fb函数中,在栈上开辟的内存空间,不能在fa和main函数中使用,因为出了fb函数就被析构掉了。
3、fb函数中,在堆区开辟的内存空间,可以在fa和main函数中使用。
4、fb函数中,在全局区开辟的内存空间,可以在fa和main函数中使用。
最后说一点:
编译器会为每一个程序建立一个内存四区,这个内存四区就相当于这个程序的执行范围。