C语言visual studio警告:取消对NULL指针“p”的引用
Posted Dontla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言visual studio警告:取消对NULL指针“p”的引用相关的知识,希望对你有一定的参考价值。
如图:
main.cpp
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int* p = (int*)malloc(sizeof(int));
*p = 100;
return 0;
}
p怎么就变成NULL指针了??不是刚malloc给它分配了地址吗???
原因,IDE很智能,它察觉到我们用malloc申请空间的时候可能会存在失败的情况,如果失败了,p没有申请到地址,那么*p=100;就是对空指针的引用,是不允许的,
所以,我们只要加个空指针判断,就不会出现警告了:
main.cpp
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int* p = (int*)malloc(sizeof(int));
if (p!=NULL) {
*p = 100;
}
return 0;
}
以上是关于C语言visual studio警告:取消对NULL指针“p”的引用的主要内容,如果未能解决你的问题,请参考以下文章
我的C语言学习进阶之旅Visual Studio 2019 注释与取消注释快捷键
我的C语言学习进阶之旅Visual Studio 2019 注释与取消注释快捷键以及格式化代码
visual studio写完程序,编译以后,再改程序,编译器不编译改过后的程序
如何通过按“空格”取消Visual Studio 2015中的自动完成?
如何取消Visual Studio(VS)函数不安全警告(安全检查)?(error C4996: ‘xxx‘: This function or variable may be unsafe...)