C6011:取消对NULL指针"__"的引用解决办法
此警告表明正在取消引用空指针,如果指针的值无效,结果是未定义的↑官方文档的解释意思就是malloc之后没有检查是不是空间不够返回了空指针NULL例子#include<malloc.h>void f(){char *p = (char*)malloc(10);*p = '\0';//balabala...free(p);}这个代码会触发警告,因为如果没有...
文章共359字 · 阅读需要大约2分钟
一键AI生成摘要,助你高效阅读
问答
·
此警告表明正在取消引用空指针,如果指针的值无效,结果是未定义的
↑官方文档的解释
意思就是malloc之后没有检查是不是空间不够返回了空指针NULL
例子
#include<malloc.h>
void f()
{
char *p = (char*)malloc(10);
*p = '\0';
//balabala...
free(p);
}
这个代码会触发警告,因为如果没有足够的可用内存,对malloc 的调用可能返回NULL,下面的就对了
#include<malloc.h>
void f()
{
char *p = (char*)malloc(10);
if(p)
{
*p='\0';
//balabalabala......
free(p);
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)