2012年5月9日

摘要: 在C/C++中栈区由编译器自动分配和释放,存放函数的参数值,局部变量的值等,操作方式类似于数据结构中的栈;堆区一般由程序员自己分配和释放,若程序员不释放,程序结束后可能由操作系统回收。它与数据结构中的堆是两码事,分配方式倒是类似于链表区别:1.申请方式:栈:系统自动分配。堆:程序员自己申请,并指明大小,在C中用malloc函数,C++中用new操作符。p=(char *)malloc(10);//注意,p本身是在栈区2.申请后系统的响应:栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。堆:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时 阅读全文
posted @ 2012-05-09 21:44 温柔的暴力 阅读(770) 评论(0) 推荐(0) 编辑

导航