栈区和堆区

在编写程序中,会创建许许多多的变量,访问一个变量靠的是访问变量的地址,如果不记住变量地址,就无法对该变量进行操作,内存空间有限,如果变量过多不可能把所有的变量地址都保存下来,这样一些没有用的变量会白白耗费内存空间造成内存空间资源浪费。

经过人们不断摸索,人们发现变量总共分成两种类型,第一种就是像int整数这种,内容短小,访问次数频繁,但是生命周期短的变量,第二种就是内容较多,访问次数比较少,生命周期比较长的变量,那么自然把这两种变量分开就显得比较合理,把第一种变量(一般是局部变量,函数的形参)放到栈区里面,它占用的内存空间会随着函数运行的结束由编译器自动释放,从而节省出了大量空间避免了内存空间浪费,第二种变量(一般指全局变量、静态变量、字符串常量、const修饰的全局变量)存放在堆区里面,他由程序员开辟和释放,程序运行结束后如果程序员没有进行释放
编译器会自动帮程序员释放,这样把变量区分存放大大提高了内存使用效率,节约了内存资源。

posted @ 2022-05-11 19:19  破忒头头  阅读(50)  评论(0)    收藏  举报