c++堆栈的各自大小,堆和栈的各自定义
1个回答
展开全部
这里的堆和栈不仅仅是按照数据结构里的堆和栈来理解,更倾向于表示两种不同作用的内存区域。
栈是有编译器来管理的,具体的大小可能根据编译器不同而异,编译器也可以手动设置栈的大小,通常有1M和2M的,比如在你定义变量时,由编译器将变量压栈,作用域结束,编译器控制变量出栈,程序员不能很直接的操作栈。
堆内存是向系统申请的内存,由程序员管理的,你new或者malloc时系统正常情况下回给你一块堆内存空间,你爱什么时候存数据都行,想存什么就存什么,想什么时候释放(delete,free)都可以。堆的大小没有什么具体数值,看机器的运行状况,配置状况而定。
栈是有编译器来管理的,具体的大小可能根据编译器不同而异,编译器也可以手动设置栈的大小,通常有1M和2M的,比如在你定义变量时,由编译器将变量压栈,作用域结束,编译器控制变量出栈,程序员不能很直接的操作栈。
堆内存是向系统申请的内存,由程序员管理的,你new或者malloc时系统正常情况下回给你一块堆内存空间,你爱什么时候存数据都行,想存什么就存什么,想什么时候释放(delete,free)都可以。堆的大小没有什么具体数值,看机器的运行状况,配置状况而定。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询