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

堆和栈

时间:2016-06-29 22:18:40      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

栈当中存放的是值类型,如int,decimal,double,enum等

堆当中存放的是引用类型,如string,类等

如图,如果定义一个int类型的变量i:

1
int i = 5;

那么在内存中的实际情况是:直接在栈中存放i的值5.

技术分享

如果顶一个string类型的变量s:

1
string s = "A string.";

那么在内存中的实际情况是:在堆中存放s的变量名(即地址),在栈中存放s的值"A string.",然后让堆中的变量名s(即地址)指向栈中的值,这也是为什么,保存在堆中的变量被称为引用类型,因为当你访问一个引用类型的变量时,首先是访问它的地址,然后通过引用才能访问到该变量的值。

技术分享

堆和栈

标签:

原文地址:http://www.cnblogs.com/jack-zeng/p/5628278.html

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