指在malloc之后没有检查返回的指针是否为空
例如
void fun()
{
STL* newnode = (STL*)malloc(sizeof(STL));
/* ... */
free(newnode);
}
这样写是没有检查newnode是否为空而直接使用,当内存空间不够时,malloc失败会返回空指针
可以改为
void fun()
{
STL* newnode = (STL*)malloc(sizeof(STL));
if(newnode == NULL)
{
printf("malloc fail\n");
free(newnode);
}
else
{
/* ... */
free(newnode);
}
}
版权声明:本文为优快云博主「一只小松许️」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/ye_yumo/article/details/130833884