关于C/C++内存管理malloc的一些注意事项
2011-08-17 20:19
281 查看
内存的使用规则:
在使用malloc()或new申请空间时,要检查有没有分配空间成功,判断方法是判断指针是否为NULL,如申请一块很大的内存而没有这么大的内存则分配内存会失败;
申请成功后最好是将该内存清空,使用memset()后ZeroMemory()清空,不然存在垃圾而造成有时候输出很大乱码;
不要忘记为数组和动态内存赋初值,防止将未被初始化的内存作为右值使用;
要防止数组或指针内存越界;
申请内存成功后,使用结束后要释放,系统不会自动释放手动分配的内存;
内存释放后,指针还是指向那块地址,不过这指针已经是“野指针”了,所以释放内存后指针要指向NULL,不然很危险,容易出错,if()对野指针的判断不起作用。
在使用malloc()或new申请空间时,要检查有没有分配空间成功,判断方法是判断指针是否为NULL,如申请一块很大的内存而没有这么大的内存则分配内存会失败;
申请成功后最好是将该内存清空,使用memset()后ZeroMemory()清空,不然存在垃圾而造成有时候输出很大乱码;
不要忘记为数组和动态内存赋初值,防止将未被初始化的内存作为右值使用;
要防止数组或指针内存越界;
申请内存成功后,使用结束后要释放,系统不会自动释放手动分配的内存;
内存释放后,指针还是指向那块地址,不过这指针已经是“野指针”了,所以释放内存后指针要指向NULL,不然很危险,容易出错,if()对野指针的判断不起作用。
相关文章推荐
- 关于android sdk 与 Eclipse 的一些错误的解决注意事项
- 关于RESTful一些注意事项,和自己整理的接口开发规范
- 关于spring3.2.4与hibernate4.1.2 集成的一些注意事项以及配置
- 关于ssh打通的一些注意事项
- 关于android sdk 与 Eclipse 的一些错误的解决注意事项
- 关于安全编写代码的一些注意事项[参照msdn],这些在编程基础中都已经相当重要了!
- C++中关于&的一些。int i 与 int &i 注意事项
- 个人关于PHP5中oop的一些注意事项
- 关于H5 storage 的一些注意事项以及用法
- 关于C#使用XML序列化的一些注意事项
- 关于顺序表插入算法和删除算法的一些注意事项
- 关于tomcat的在eclpise下的一些注意事项
- 关于VML一些用法的注意事项
- 关于CSS的一些注意事项
- 关于Android应用开发的一些安全注意事项
- 关于myBatis配置中的一些注意事项
- 关于linux动态链接库的一些注意事项
- 关于RESTful一些注意事项,和自己整理的接口开发规范
- 6,一些关于字节的注意事项
- C++中关于cons和字符串t的一些注意事项