文章目录
前言
我们在进行链式存储操作的时候经常会用到创建动态内存,为了避免遇到各种错误时我们难以修正,我们需要对动态内存常见错误有一定的了解,这样在我们遇到他们的时候能知道为什么,知道怎么做,这能大大减少我们分析的时间。
下面我将用代码对六个常见的错误进行描述;
一、对NULL指针的解引用
代码如下(示例):
void test()
{
int *p=(int*)malloc(sizeof(int));
*p=20;
free(p);
}
这里如果p是NULL则会发生问题,要避免。
二、 对动态开辟空间的越界访问
代码如下(示例):
void test()
{
int i = 0;
int* p = (int*)malloc(10*sizeof(int));
if (p == NULL)
{