-
野指针
野指针是指指针变量在声明后未对其地址进行初始化,因为指针在声明后,它的地址都是随机指向的,如果不初始化成正确的值,会造成野指针的出现。
还有就是在free或delete之后,没有对指针变量赋值为NULL。因为free或delete只是删除了这个指针所指向的内存,但是指针变量本身是存在的。
通常判断一个指针是否合法,都是使用if语句测试该指针是否为NULL。
规避:- 在声明指针变量后,进行初始化;
- 在free或delete后,将指针赋值为NULL(或理解为return NULL);
-
内存泄漏
引用百度百科内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
通常是由于我们在malloc一段地址空间后,在使用完或程序结束后,未对申请的空间进行释放。
规避:- malloc和free都是成对出现的。注意检查。
野指针和内存泄漏
最新推荐文章于 2023-04-14 14:52:46 发布