位置:首頁 > 高級語言 > 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值,並且避免使用空指針,能避免未初始化的指針意外誤操作。很多時候,未初始化的變量舉行一些垃圾值,並且變得難以調試程序。