内存的静态分配和动态分配有啥不同?

内存的静态分配和动态分配区别:

1.时间不同:

 静态分配发生在程序的编译和链接的时候。

   动态分配发生在程序调入和执行的时候。

2.空间不同:

 静态分配只能是有栈来分配(有编译器来完成,比如定义一个局部变量 int b = 1)

   动态分配可以是堆分配(malloc分配,需要手动回收内存)或者栈分配(编译器来完成,自动回收内存)

3.灵活度不同:

 静态分配需要提前指定空间大小,不能再动态改变大小。

    动态分配不需要提前分配存储空间,可以动态的调整大小。

4.生命周期不同:

  静态分配的内存在程序一开始运行就会分配内存,直到程序结束了,内存才会被释放。

     动态分配的内存是在程序调用函数时才被分配,函数结束了,动态内存就应该被释放掉(别忘了手动释放)。

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