Con_trỏ_rỗng

Trong ngành điện toán, khái niệm con trỏ rỗng chỉ một biến con trỏ có một giá trị định sẵn khiến cho nó không trỏ được tới bất kỳ một đối tượng chính tắc nào. Các ngôn ngữ lập trình thường sử dụng con trỏ rỗng trong trường hợp cuối một list không rõ độ dài hoặc một tác vụ nào đó thất bại; cách sử dụng con trỏ rỗng tương đương với các kiểu rỗng và ứng với giá trị Nothing trong kiểu lựa chọn.Không nên nhầm lẫn con trỏ rỗng với một biến con trỏ chưa được khởi tạo giá trị cho nó: mục đích của việc sử dụng con trỏ rỗng là để để bảo đảm phép so sánh không bằng với bất kỳ con trỏ nào trỏ tới một đối tượng chính tắc. Tuy nhiên, tùy vào từng ngôn ngữ và phương pháp lập trình của nó, một biến con trỏ chưa được khởi tạo không chắc chắn sẽ thực hiện được yêu cầu trên. Khi thực hiện phép so sánh, nó có thể cho ra kết quả bằng với một giá trị nào đó, là một con trỏ chính tắc; hoặc có thể bằng với một con trỏ rỗng khác. Và như thế, biến con trỏ này có thể đóng cả hai vai trò ở những thời điểm khác nhau.Về mặt ngữ nghĩa, con trỏ rỗng (null pointer) khác với giá trị rỗng (null value). Con trỏ rỗng trong hầu hết ngôn ngữ lập trình có nghĩa là "không có giá trị", trong khi giá trị rỗng trong một cơ sở dữ liệu quan hệ có nghĩa là "có giá trị không rõ". Điều này tạo ra một khác biệt trong thực tế: hầu hết ngôn ngữ lập trình xem hai con trỏ rỗng bằng nhau, nhưng các hệ cơ sở dữ liệu quan hệ lại không coi hai giá trị rỗng là bằng nhau(vì chúng biểu diễn các giá trị không rõ, và như thế, không thể khẳng định chúng có bằng nhau không).