A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

各自的作用以及c与OC中的区别,一直不太明白

7 个回复

正序浏览
有人回答吗
回复 使用道具 举报
今天刚学(堆区,栈区,BSS区,数据区,代码区)这五个,楼上很详细
回复 使用道具 举报
1.内存管理的概念:是指软件运行时对计算机内存资源的分配和使用的技术。其最主要的目的是如何高 效,快速的分配,并且在适当的时候释放和回收内存资源。
2.内存的五大区:
栈区 -- 存放局部变量,临时变量
堆区 -- 程序运行过程中,动态分配的内存
BSS区(全局区,静态区) -- 未初始化的全局变量和静态变量
数据段(常量区) -- 已经初始化的全局变量和静态变量
代码段 -- 源码代码程序编译产生的二进制数据,程序执行代码的一块区域
3.小结:栈区和堆区的内存是在运行时分配空间,BSS区.数据段.代码段是在编译器分配时分配空间
4.内存分配方式 内存分配方式有三种:
(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期 间都存在。例如全局变量,static变量。
(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结 束 时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的 内存容量有限。
(3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内 存, 程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵 活,但问题也最多


希望能帮到你,有疑惑的地方可以追问,我会在晚上十一点回帖!

点评

谢谢  发表于 2015-11-28 10:43
回复 使用道具 举报 1 0
同样布吉岛,来早了,再等等.
回复 使用道具 举报
MrK 初级黑马 2015-11-26 23:18:34
藤椅
路过 帮顶。。
回复 使用道具 举报
堆区::::::::::::::
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马