首页 > 其他 > 详细

栈和堆

时间:2014-03-08 12:38:29      阅读:519      评论:0      收藏:0      [点我收藏+]

栈和堆


技术博客http://www.cnblogs.com/ChenYilong/ 
新浪微博http://weibo.com/luohanchenyilong 



栈和堆
bubuko.com,布布扣

bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣 
技术博客http://www.cnblogs.com/ChenYilong/新浪微博http://weibo.com/luohanchenyilong
bubuko.com,布布扣 bubuko.com,布布扣
数据在内存中的存放 
.1. 栈区(stack) 由编译器自动分配并释放,一般存放函数的参数值,局 部变量等 
.2. 堆区(heap) 由程序员分配和释放,如果程序员不释放,程序结束时, 可能会由操作系统回收 
.3. 寄存器区 用来保存栈顶指针和指令指针 
.4. 全局区(静态区)全局变量和静态变量的存储是放在一起的,初始 化的全局变量和静态变量存放在一块区域,未初始化的全局变量和 静态变量在相邻的另一块区域,程序结束后由系统释放。 
.5. 文字常量区 存放常量字符串,程序结束后由系统释放 
.6. 程序代码区 存放函数的二进制代码 
栈 
栈:
1
大小有限制 iOS(主线程1M
2栈的内存是连续的 栈的空间一旦被耗尽,程序直接overflow
bubuko.com,布布扣
--程序执行所在的内存空间(压栈,先进后出)
bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣
bubuko.com,布布扣 

I =>相当于一个标签,程序中可以通过这个标签来访问到变量的内容

只负责申请空间,不负责贴标签
只是负责申请空间,并返回给指针

进程&线程 
进程的作用:分配程序的内存空间 ?线程是指令集合,顺序执行每个进程都包含一个主线程 
bubuko.com,布布扣
bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣
bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣
chenyilong. Powered by Postach.io

栈和堆,布布扣,bubuko.com

栈和堆

原文:http://www.cnblogs.com/ChenYilong/p/3587303.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!