内存分为三部分:栈区,堆区,静态区
栈区包括:局部变量,函数的参数,函数的调用也开辟空间
堆区:动态内存分配,malloc/free,realloc,calloc
静态区:全局变量,静态变量
int Add(int x, int y)
{
int z = 0;
z = x + y;
return z;
}
int main()
{
int a = 10;
int b = 20;
int ret = 0;
ret = Add(a, b);
}
main函数需要开辟空间,main函数开辟的空间分给了局部变量a,b,ret,Add(a, b);我们在对函数进行传参时,要先传b,再传a(从右向左传)
我们在进行传参时,也需要在栈上开辟空间,我们创建局部参数y,x来接收b,a。
在函数内,我们依旧需要在栈上开辟空间,我们创建局部变量int z=0;
整个开辟空间的过程叫做压栈
插入一个元素:压栈
删除一个元素:出栈
栈:先进后出,后进先出