【C++】空指针和野指针

文章目录


1.空指针

概念:指针变量指向内存中编号为0的空间。

用途:初始化指针变量。

注意:空指针指向的内存是不可以访问的。

示例:

cpp 复制代码
int main(){
	//指针变量p指向内存地址编号为0的空间
	int *P=NULL;
	//访问空指针会报错
	//内存编号0~255是系统占用的内存,没有权限访问
	cout<<*p<<endl;
	return 0;
}

2.野指针

概念:指针变量指向非法的内存空间。

示例:

cpp 复制代码
int main(){
	//指针变量p指向内存地址编号为0x1100的空间
	int *p=(int *)0x1100;
	
	//访问野指针会报错
	cout<<*p<<endl;
	return 0;	
}

总结

综上,空指针和野指针都不是我们申请的空间,因此我们不要访问,写代码时更要避免野指针。

相关推荐
步菲10 小时前
springboot canche 无法避免Null key错误, Null key returned for cache operation
java·开发语言·spring boot
香蕉卜拿拿拿14 小时前
软件解耦与扩展的利器:基于C++与C#的插件式开发实践
c++
知远同学15 小时前
Anaconda的安装使用(为python管理虚拟环境)
开发语言·python
小徐Chao努力15 小时前
【Langchain4j-Java AI开发】09-Agent智能体工作流
java·开发语言·人工智能
CoderCodingNo15 小时前
【GESP】C++五级真题(贪心和剪枝思想) luogu-B3930 [GESP202312 五级] 烹饪问题
开发语言·c++·剪枝
kylezhao201915 小时前
第1章:第一节 开发环境搭建(工控场景最优配置)
开发语言·c#
啃火龙果的兔子15 小时前
JavaScript 中的 Symbol 特性详解
开发语言·javascript·ecmascript
热爱专研AI的学妹16 小时前
数眼搜索API与博查技术特性深度对比:实时性与数据完整性的核心差异
大数据·开发语言·数据库·人工智能·python
Mr_Chenph16 小时前
Miniconda3在Windows11上和本地Python共生
开发语言·python·miniconda3
阿狸远翔16 小时前
Protobuf 和 protoc-gen-go 详解
开发语言·后端·golang