当前位置: 首页 > 文档资料 > C++ 中文教程 >

空指针(Null Pointers)

优质
小牛编辑
118浏览
2023-12-01

如果您没有要分配的确切地址,将指针NULL分配给指针变量始终是一个好习惯。 这是在变量声明时完成的。 指定为NULL的指针称为null指针。

NULL指针是一个常量,其值为零,在几个标准库中定义,包括iostream。 考虑以下程序 -

#include <iostream>
using namespace std;
int main () {
   int  *ptr = NULL;
   cout << "The value of ptr is " << ptr ;
   return 0;
}

编译并执行上述代码时,会产生以下结果 -

The value of ptr is 0

在大多数操作系统上,程序不允许访问地址0处的内存,因为该内存是由操作系统保留的。 但是,存储器地址0具有特殊意义; 它表示指针不是指向可访问的内存位置。 但按照惯例,如果指针包含null(零)值,则假定它指向任何内容。

要检查空指针,可以使用if语句,如下所示 -

if(ptr)     // succeeds if p is not null
if(!ptr)    // succeeds if p is null

因此,如果所有未使用的指针都被赋予空值并且您避免使用空指针,则可以避免意外滥用未初始化的指针。 很多时候,未初始化的变量会保留一些垃圾值,并且调试程序变得很困难。