社区
C#
帖子详情
关于stack和heap的菜鸟问题
fancyyin
2003-10-19 08:31:21
programming c#一书中多次提到reference型数据是放在heap里的,value类型放在stack中,我想知道这一堆一栈倒底是什么?和内存有关吗?
...全文
74
1
打赏
收藏
关于stack和heap的菜鸟问题
programming c#一书中多次提到reference型数据是放在heap里的,value类型放在stack中,我想知道这一堆一栈倒底是什么?和内存有关吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Stevetan81
2003-10-19
打赏
举报
回复
heap stack就是通常所说的堆 和 栈,它们都是内存中的一个区域。
如果学过数据结构就会知道他们的结构有什么区别了,
在编程中,它们的区别就是 堆 的性能不如 栈 ,也就是说struct用来做数据结构性能优于用class做的数据结构,因为struct是栈式存储,class是堆式存储。
JVM基础_
菜鸟
_加水印.pdf
JVM基础_
菜鸟
_加水印.pdf
java算法锦囊必备
java算法锦囊必备里面包括各种各样的算法,是java版本的数据结构,
linux 进程内存管理 LinuxMemoryManagement
LinuxMemoryManagement linux 进程内存管理
【C语言】 “函数指针”和“指针函数” 用法和详解(太细了!!!)
菜鸟
级教程
(1)堆和栈是 C 语言中两种不同的内存区域,用途和管理方式不同。(2)堆用于动态分配和管理数据,需要手动分配和释放。(3)栈用于函数调用和局部变量,内存分配和释放是自动的。(4)堆和栈在内存管理方面有不同的用途和约束,程序员应根据需求合理选择它们。(5)在 C 语言中,需要特别注意内存管理,以避免内存泄漏和悬挂指针等
问题
。
堆(
heap
)和栈(
stack
)的区别
1申请方式
stack
:由系统自动分配。例如,声明在函数中一个局部变量int b;系统自动在栈中为b开辟空间.
heap
:需要程序员自己申请,并指明大小,在c中用malloc函数. 2申请后系统的响应 栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。 堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空
C#
111,119
社区成员
642,538
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章