【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;	
}

总结

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

相关推荐
xh didida1 天前
算法 -- 位运算
开发语言·c++·算法
hele_two1 天前
VS Code + CMake 调用 SDL2 & SDL2_image 完整编译教程(Windows 平台)
c++·windows·vscode·图形渲染
谙弆悕博士1 天前
快速学C语言——第2章:编程规范与代码风格
服务器·c语言·开发语言·经验分享·程序人生·学习方法·业界资讯
byzh_rc1 天前
[AI编程从入门到入土] 装饰器decorator
开发语言·python·ai编程
贫民窟的勇敢爷们1 天前
Java 与 Python 如何选型与融合
java·开发语言·python
流氓也是种气质 _Cookie1 天前
Chrome Performance常见名词解释(FP, FCP, LCP, DCL, FMP, TTI, TBT, FID, CLS)
开发语言·javascript·ecmascript
gihigo19981 天前
基于MATLAB的LTE物理层仿真系统
开发语言·matlab
刚子编程1 天前
C# Join 实战:左连接写法、字符串拼接与 EF Core 性能调优
开发语言·c#·solr·join
量子炒饭大师1 天前
【优化算法】双指针算法的「义体化」重构 ——【双指针】双指针算法中的指针是如何定义的?如何使用它进行一些简单的算法?
c++·算法·重构·优化算法·双指针
小辉同志1 天前
62. 不同路径
c++·力扣·多维动态规划