内存分类
2016-04-24 00:14
176 查看
摘自《C语言深度剖析》
1、内存的三个部分
静态区:保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。
栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。
堆:由 malloc 系列函数或 new 操作符分配的内存。其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束。其特点是使用灵活,空间比较大,但容易出错。
1、内存的三个部分
静态区:保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。
栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。
堆:由 malloc 系列函数或 new 操作符分配的内存。其生命周期由 free 或 delete 决定。在没有释放之前一直存在,直到程序结束。其特点是使用灵活,空间比较大,但容易出错。
相关文章推荐
- 深度理解链式前向星
- Jquery settimeout
- iOS开发——Autolayout的实践与技巧
- curl库函数简介
- Arm9+linux fl2440 驱动移植之RTC(实时时钟)和USB host
- Android中View的绘制
- 八、文件函数库 序列化数据 文件包含
- html table的坑
- TextView中ellipsize属性
- 集线器,交换机,路由器的作用
- ubuntu安装配置ssh-connect to host localhost port 22: Connection refused
- Oracle的pipelined函数实现高性能大数据处理
- javascript语言两种变量类型及存储方式
- 第四周总结
- Part 15 AngularJS ng init directive
- Integer Break | Leetcode 整数分解
- 多线程的简单介绍
- 如何使用google搜索
- Python数据可视化练习
- 单独编译Android源码的模块。