栈区和堆区

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

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

posted @   破忒头头  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示