- 0
- 0
- 约1.97万字
- 约 26页
- 2026-09-15 发布于北京
- 举报
2014C语言程序设计-笔试
总体感觉:和去年的题有重复,时间紧,所以大家还是要好好准备,
一、指出程序中的错误,说明原因并修正。
1、
Int*p,*q;
p=(int*)malloc(sizeof(int)*20);
q=(int*)malloc(sizeof(int)*10);
…
q=p;//修改的话可以删除这句话
…
free(p);
free(q);//错了,因为p=q后,就指向同一块地址了。内存泄露(p分配了空间没释放)重复释放同一内存会报错,还剩一块内存没有释放,内存泄露
一:由于malloc函数返回值为void*,所以还是应该强制转换为(int*),虽然我在运行时没有错,但一般都要指定指针类型。
二:由于p=q,两个指针指向同一个地址,free(p)之后,则该内存空间被释放,则q此时就没有具体指向一个地址,free(q)就会出错。
内存泄露:
一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显式释放的内存。应用程序一般使用malloc,calloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。
内存泄漏是常见的问题。当以前分配的一片内存不
您可能关注的文档
最近下载
- 农网改造升级工程建设管理纲要.doc
- 陕西榆横矿区南区红墩界煤矿水土保持方案报告书.pdf VIP
- 二年级上人教《坐井观天》蒋云霞PPT课件新优质课比赛公开课获奖572.ppt VIP
- 中医紧急医学救援针灸急救演练.docx
- 2025年浪潮集团有限公司校园招聘模拟试题及参考答案1套.docx VIP
- 脑卒中患者安全隐患课件.ppt VIP
- 2026临沂沂蒙山天蒙旅游区社会公开招聘笔试模拟试题及答案解析.docx VIP
- 《FPGA设计与应用》实验指导书全(Verilog版).docx VIP
- 部编人教版五年级上册道德与法治全册教学课件(配2026年秋改版教材).pptx
- SCI论文写作指导(北京大学ppt).pptx VIP
原创力文档

文档评论(0)