位置:首页 > 高级语言 > C++在线教程 > C++ NULL指针

C++ 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具有特别重要的意义;它标志着,该指针不指向一个访问的存储器位置。但按照惯例,如果一个指针包含空(零)值,则假定为指向什么。

要检查一个空指针,可以使用if语句如下:

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

因此,如果所有未使用的指针被赋予null值,并且避免使用空指针,能避免未初始化的指针意外误操作。很多时候,未初始化的变量举行一些垃圾值,并且变得难以调试程序。