栈区和堆区
在编写程序中,会创建许许多多的变量,访问一个变量靠的是访问变量的地址,如果不记住变量地址,就无法对该变量进行操作,内存空间有限,如果变量过多不可能把所有的变量地址都保存下来,这样一些没有用的变量会白白耗费内存空间造成内存空间资源浪费。
经过人们不断摸索,人们发现变量总共分成两种类型,第一种就是像int整数这种,内容短小,访问次数频繁,但是生命周期短的变量,第二种就是内容较多,访问次数比较少,生命周期比较长的变量,那么自然把这两种变量分开就显得比较合理,把第一种变量(一般是局部变量,函数的形参)放到栈区里面,它占用的内存空间会随着函数运行的结束由编译器自动释放,从而节省出了大量空间避免了内存空间浪费,第二种变量(一般指全局变量、静态变量、字符串常量、const修饰的全局变量)存放在堆区里面,他由程序员开辟和释放,程序运行结束后如果程序员没有进行释放
编译器会自动帮程序员释放,这样把变量区分存放大大提高了内存使用效率,节约了内存资源。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理