内存管理——如何排除内存错误原因并解决
引言
在写人脸识别项目时遇到了这样的问题:
读取字符串时出错,这是指针出现问题了吗?数组越界?无效指针?还是空指针?是哪段程序调用的?是哪个存储区域的字符串读取出错?是读取的指针发生了错误吗?是函数指针的问题吗?是类没有实例化产生的错误吗?要知道这些我还是运用一下内存管理中的内容来排查错误。
字符串读取在哪个地方出错的
一个程序有三种存储数据的方式,一是生命周期和源程序周期一样长的全局变量和静态变量,二是程序函数调用过程中需要不断迭代和分配的栈区,三是存储较大数据的堆区。
字符串读取在哪些情况下会出错
1 内存分配没成功 2分配成功但没初始化