Địa chỉ 0 vốn là một địa chỉ hoàn toàn hợp lệ, tuy nhiên con trỏ có địa chỉ bằng 0 (hay NULL) trong hầu hết các trường hợp là không hợp lệ, tức nếu truy cập vào vùng nhớ thông qua con trỏ có địa chỉ NULL sẽ gây ra lỗi. Nguyên nhân là vì bạn chỉ có thể truy cập vào những vùng nhớ đã-được-cấp-phát, mà vùng 0 thì vốn luôn được sử dụng bởi hệ thống và sẽ không bao giờ sẵn dùng (available) cho ứng dụng của bạn.
Tất cả các vùng nhớ khác cũng vậy chứ không chỉ riêng địa chỉ 0, bạn chỉ có thể đọc ghi vào cùng nhớ được cấp cho việc chứa dữ liệu – ngay cả vùng nhớ đã được cấp cho việc chứa code bạn cũng không được đọc nữa.
– Trong các ngôn ngữ C/C++, NULL chỉ là 1 macro thay thế cho 0.
– Trong Pascal người ta dùng từ khóa nil thay cho NULL.
– Trong Java ta có NullPointerException, .NET có NullReferenceException sẽ throw nếu bạn truy cập vào một biến == null.