网龙笔试题和答案解析.docVIP

  • 379
  • 0
  • 约6.78千字
  • 约 9页
  • 2018-11-28 发布于安徽
  • 举报
完美WORD格式整理 专业资料分享 一.题型: 问答五题,程序两题,选择10来题 二.题目 1. 堆和栈的区别与联系(C/C++的内容,不是数据结构的内容) 1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事。 区别: 1.管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生内存溢出。 2. 空间大小:堆内存几乎是没有什么限制。栈一般都是有一定的空间大小。 3. 碎片问题:对于堆来讲,频繁的new/delete会造成内存空间的不连续,从而造成大量的碎片,使程序效率降低。对于栈来讲,则不会存在这个问题。 4. 分配方式:堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。 5. 分配效率:栈的效率比较高。堆的效率比栈要低得多。 见:/sige_online/blog/item/f06097ec

文档评论(0)

1亿VIP精品文档

相关文档