什么是压栈:(从下往上堆积)
内存分为:堆区,静态区,栈区
每一个函数调用都会在内存的栈区开辟一块空间
例如:
绝大多数编译器传参都是从右到左进行的 (例子是从b到a依次往上叠加)
这就很像压栈操作(紫色部分),所以函数传参也叫做压栈操作。
大致如下:
当Add函数调用完时,Add函数开辟的空间将归还给操作系统,main函数也是如此。
连接上一节:所以当结构体过大时,参数压栈的系统开销比较大,所以会导致性能的下降。所以运用传地址的方式比较好。
更多的研究可以搜索《函数栈帧的销毁和创建》