常见的内存错误及对策

本文介绍了常见的内存错误及对策:

  1. 问题:内存分配未成功,却使用了它
    解决办法:
    (1)如果是malloc或者new申请内存,那么在申请之后立即检查是为位NULL,如if(p == NULL)或if(p != NULL);
    (2)如果指针p是函数的参数,那就在函数的入口处使用assert(p != NULL)来进行检查。

  2. 问题:内存分配成功,但是没有初始化就使用它
    解决办法:申请内存或者定义数组之后,立即进行初始化。

  3. 问题:操作越过了内存的边界
    解决办法:防止出现多1少1的操作。

  4. 问题:忘记释放内存,造成内存泄漏
    解决办法:malloc和free的使用次数一定要相同,new和delete同理。

  5. 问题:释放了内存却想继续使用它
    解决办法:使用free或者delete释放内存之后,把指针立即设置为NULL,防止出现野指针。

上一篇:malloc和free在FreeRTOS限制使用


下一篇:双指针的空间分配