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 中报告 C 警告

visual studio写完程序,编译以后,再改程序,编译器不编译改过后的程序

如何通过按“空格”取消Visual Studio 2015中的自动完成?

如何取消Visual Studio(VS)函数不安全警告(安全检查)?(error C4996: ‘xxx‘: This function or variable may be unsafe...)