码迷,mamicode.com
首页 > 其他好文 > 详细

1.15 第十五天

时间:2015-01-15 12:19:58      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

栈:局部变量  向下增长

堆:程序员申请内存空间  向上增长  如:p1 = (char *)malloc(10);  堆 
p2 = (char *)malloc(20);  堆 

 

堆和栈的区别:栈(英文名称是stack)是系统自动分配空间的,例如我们定义一个 char a;系统会自动在栈上为其开辟空间。而堆(英文名称是heap)则是程序员根据需要自己申请的空间,例如malloc(10);开辟十个字节的空间。由于栈上的空间是自动分配自动回收的,所以栈上的数据的生存周期只是在函数的运行过程中,运行后就释放掉,不可以再访问。而堆上的数据只要程序员不释放空间,就一直可以访问到

 

静态区:静态变量  

只读区:常量,代码  a++是错误的。因为a是数组名,它是数组的首地址,是常量。

栈中分配局部变量空间,堆区是向上增长的用于分配程序员申请的内存空间。另外还有静态区是分配静态变量,全局变量空间的;只读区是分配常量和程序代码空间的;以及其他一些分区。

1.15 第十五天

标签:

原文地址:http://www.cnblogs.com/namiren/p/4225634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!