C#中的堆和栈分别是什么意思?

如题所述

1、栈区(stack) 由编译器自动分配释放 ,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。其操作方式类似于数据结构中的栈。
2、堆区(heap) 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。分配方式类似于链表。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-11
楼上的对“栈”的解释正确。

但对“堆”的解释有误,在.NET(C#)中堆是有垃圾收集器(GC)来维护的,不是由程序员直接控制的。

其实不必深究“栈”和“堆”的是什么,其本质都是一块内存,都是又来存储。本回答被提问者采纳
相似回答