标签:
栈当中存放的是值类型,如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