操作系统复习 特点 编译器不能自动发现这类错误,通常是在程序运行时才能捕捉到 时隐时现,无明显症状 分类 1 内存分配未成功,却使用了它 起因 没有意识到内存分配会不成功 编程新手容易犯 解决对策 在使用内存之前,检查指针是否为空指针(NULL) char *p = (char *) malloc( ...
分类:
其他好文 时间:
2017-05-15 22:31:58
阅读次数:
148
1 内存分配方式 内存分配方式有如下三种: 一般的原则是:如果使用堆栈和静态存储就能够满足应用需求,就不要使用动态存储。因为,在堆上动态分配内存需要很多额外开销。 2 常见的内存错误及其对策 使用free()或者delete释放了内存之后,没有把指针设置为NULL,产生“野指针”。 函数return ...
分类:
编程语言 时间:
2017-03-05 16:13:08
阅读次数:
181
内存分配未成功,却使用了它。编程新手常犯这种错误,因为他们没有意识到内存分配会不成功。常用解决办法是,在使用内存之前检查指针是否为NULL。如果指针p是函数的参数,那么在函数的入口处用assert(p!=NULL)进行检查。如果是用malloc或new来申请内存,应该用if(p==NULL)或if(..
分类:
其他好文 时间:
2015-09-04 02:20:00
阅读次数:
188
发生内存错误是件非常麻烦的事情。编译器不能自动发现这些错误,通常是在程序运行时才能捕捉到。而这些错误大多没有明显的症状,时隐时现,增加了改错的难度。有时用户怒气冲冲地把你找来,程序却没有发生任何问题,你一走,错误又发作了。常见的内存错误及其对策如下:1、 内存分配未成功,却使用了它。编程新手常犯这种...
分类:
其他好文 时间:
2014-06-26 22:42:44
阅读次数:
291