Nó luôn luôn là một bài thực hành tốt khi gán con trỏ NULL cho một biến con trỏ trong trường hợp bạn không biết chính xác địa chỉ để được gán. Điều này được thực hiện tại thời điểm khai báo biến.
Một con trỏ mà được gán NULL được gọi là một con trỏ null.
Con trỏ NULL là một hằng với một giá trị là 0 được định nghĩa trong một vài thư viện chuẩn, gồm iostream. Bạn xét ví dụ sau:
#include <iostream>
using namespace std;
int main ()
{
int *contro = NULL;
cout << "Gia tri cua contro la " << ptr ;
return 0;
}
Khi code trên được biên dịch và thực thi, nó cho kết quả sau:
Gia tri cua contro la 0
Trên hầu hết Hệ điều hành, các chương trình không được cho phép để truy cập bộ nhớ tại địa chỉ 0, bởi vì, bộ nhớ đó được dự trữ bởi Hệ điều hành. Tuy nhiên, địa chỉ bộ nhớ 0 có ý nghĩa đặc biệt; nó báo hiệu rằng con trỏ không được trỏ tới một vị trí ô nhớ có thể truy cập. Nhưng theo qui ước, nếu một con trỏ chứa giá trị 0, nó được xem như là không trỏ tới bất cứ thứ gì.
Để kiểm tra một con trỏ null, bạn có thể sử dụng một lệnh if như sau:
if(contro) // true neu contro khong la NULL if(!contro) // true neu contro la NULL
Nếu tất cả con trỏ chưa được sử dụng được cung cấp giá trị null và bạn tránh sử dụng con trỏ null, bạn có thể tránh việc sử dụng sai của một con trỏ chưa được khởi tạo. Nhiều khi, các biến chưa được khởi tạo giữ một số giá trị tạp nham, và nó làm việc debug chương trình trở lên khó khăn hơn.