page contents

静态内存分配和动态内存分配有什么区别?

轩辕小不懂 发布于 2022-01-10 13:52
阅读 537
收藏 0
分类:C/C++开发
2855
Nen
Nen
- 程序员

静态内存分配是在编译时期完成的,不占用CPU资源;动态内存分配是在运行时期完成的,分配和释放需要占用CPU资源;

静态内存分配是在栈上分配的;动态内存分配是在堆上分配的;

静态内存分配不需要指针或引用类型的支持;动态内存分配需要;

静态内存分配是按计划分配的,在编译前确定内存块的大小;动态内存分配是按需要分配的;

静态内存分配是把内存的控制权交给了编译器;动态内存分配是把内存的控制权给了程序员;

静态内存分配的运行效率比动态内存分配高,动态内存分配不当可能造成内存泄漏。

请先 登录 后评论