C陷阱 ---- 随时更新
2014-08-31 10:13
162 查看
整理汇总平时编程过程中遇到的容易出错的地方
1. 多处malloc,后面的malloc申请失败返回,前面申请成功的未释放,造成缓存泄露
1. 多处malloc,后面的malloc申请失败返回,前面申请成功的未释放,造成缓存泄露
35 void main() 36 { 37 char *buff1; 38 char *buff2; 39 char *buff1= malloc(100); 40 if (NULL == buff1) 41 { 42 return ; 43 } 44 buff2 = malloc(100); 45 if (NULL == buff2) 46 { 47 free(buff1);//此处容易忘记释放 48 return ; 49 } 50 }2. free无效指针,malloc申请的缓存,指针进行过偏移操作,释放
void main() 36 { 37 char *buff1= malloc(1000); 38 39 if (NULL == buff1) 40 { 41 return ; 42 } 43 buff += sprintf(buff,"str",strsize); 44 free(buff);//buff已经偏移过,此时释放非法 45 return; 46 }
相关文章推荐
- 一些陷阱 (随时更新)
- 学习网站收录随时更新
- 随时积累随手记(持续更新...)
- 杂记--随时更新
- Angular新手容易碰到的坑,随时更新,欢迎订阅
- iOS UIImage 处理(随时更新)
- Window 应用技术汇总(备忘--随时更新)
- OJ常见错误原因(随时更新)
- 备战2015软考!精品视频教程推荐(综合复习+经验分享+考前冲刺)【随时更新】
- git 学习笔记( 随时更新中…… 最后更新日期201304281518)
- intellij idea的常用快捷键合集(随时更新中)
- Ubuntu9.10配置(随时更新)
- 论坛各种问题总结--(随时更新)
- 随时更新==eclipse Java开发相关插件
- Linux命令学习---随时记录更新
- 算法-基本概念解释(随时添加更新)
- java常用的软件(java,随时更新我用过的软件)
- 读书计划-随时更新
- webpack~关于使用包详解(随时更新)
- java常用代码(随时更新)