C++ 空指针和野指针
Posted C和C加加
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 空指针和野指针相关的知识,希望对你有一定的参考价值。
来源:blog.csdn.net/ywl470812087/article/details/106890798
1.空指针
指针变量指向内存中编号为0的空间为空指针。
空指针指向的内存空间是不可以访问的 。
代码:
#include<iostream>
using namespace std;
int main() {
int a = 10;
int * p = &a;
cout << p << endl;
cout << &a << endl;
cout << "指针占" << sizeof(int *) <<"字节" << endl;
cout << "指针占" << sizeof(p) << "字节" << endl;
//1,指针变量指向内存中编号为0的空间为空指针
//2,空指针指向的内存空间是不可以访问的
int * q = NULL;
//0-255内存编号为系统占用,不允许用户访问
cout << *q << endl;
system("pause");
}
分析:
2.野指针
指针变量指向非法的内存空间
代码:
#include<iostream>
using namespace std;
int yezhizhen() {
//指针变量p指向内存地址编号为0x1100的空间
int * p = (int *)0x1100;
//访问野指针报错
cout << *p << endl;
system("pause");
return 0;
}
分析:
简单分享快乐学习,如有错误请多包涵!
PS:如果没有你的关注,那我所做的将毫无意义!欢迎分享,点赞,在看。
以上是关于C++ 空指针和野指针的主要内容,如果未能解决你的问题,请参考以下文章