一个被赋值为0的指针,它不指向任何的对象或者函数。注意:指向内存编号为0的空间是空指针,当初始化指针变量,如果刚开始不知道指向那 就给他初始化指向0编号,但是
空指针指向的内存是不可以访问
(0到255之间是系统占用的内存用户不可以访问)。
空指针定义
int *p=nullptr;//C++
int *p=NULL;//C
用户对空指针进行操作时会引发异常,因此对指针进行操作时,要对指针进行非空判断
if(p==nullptr){
return ;//指针为空时,直接返回,避免程序崩
*p=...;
野指针指向一段实际的内存,但不知道它的实际指向,或者是它所指向的内存空间已经被释放,在实际使用的过程中,无法有效的识别一个指针是否为野指针。需要自己在编程过程中规范编程,避免野指针的产生。
1.指针未被初始化
int *p;
*p=1;//操作指针指向内存之前,指针未指向合法空间❌
2.指向堆内存被释放
int *p=new int(1);
delete p;
//堆上开辟空间被释放,p成为野指针
3.指针指向局部变量,操作超出作用域
int *p=nullptr;
int a=0;
p=&a;
//此时超出局部变量a的作用域,变量a将释放,指针p成为野指针
int *p = NULL;
int *p = 0;
野
指针
野
指针
也成为迷途
指针
,是指
指针
在delete之后,又一次被使用,这时候由于已经被delete释放了,所以再次使用时,会给
内存
区域带来十分严重的后果,因为这个时候它引用了不属于它的
空
间,会影响其他参数
内存
的使用。解决方法:
当delete掉一个
指针
之后,我们随即赋值该
指针
为0,
点击蓝字关注我们来源于网络,侵删1.
空指针
指针
变量
指向
内存
中编号为0的
空
间为
空指针
。
空指针
指向
的
内存
空
间是不可以访问的 。代码:#include<iostream>
using namespace std;
int main() {
在C中NULL 是 (void *)0 的
指针
常量。
在
C++
中NULL 是一个宏定义 #define NULL 0 ,因为
C++
不允许将(void *)隐式转换为其它类型。
所以在
C++
11中出了nullptr,类型为std::nullptr_t,
空指针
常量可以隐式转换为其它类型,用来区分0与NULL的区别。
void fun(int i)
cou...
空指针
和
野
指针
在C
语言
中是两个不同的概念。
空指针
是指被赋值为NULL的
指针
,它不
指向
任何的对象或函数。当我们使用
指针
时,首先需要检查这个
指针
是否为
空指针
,以避免访问不存在的地址引发程序崩溃。在C标准中,
空指针
的值通常为0。
判断
空指针
的方法可以使用if(p != NULL)来检测
指针
是否为
空
。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [
C++
野
指针
和
空指针
](https://blog.csdn.net/leduoduodeai/article/details/127881551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [
c++
空指针
和
野
指针
](https://blog.csdn.net/weixin_43914789/article/details/105180574)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]