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).
C
Trong C, hai con trỏ rỗng của bất kỳ kiểu nào cũng được đảm bảo là bằng nhau. Macro NULL
được dùng để định nghĩa một hằng số con trỏ rỗng, mà trong tiêu chuẩn C99 có thể linh hoạt xem như một giá trị kiểu nguyên 0
được chuyển đổi tường minh hoặc bất tường minh qua kiểu void*
.
Tham chiếu ngược một con trỏ rỗng có thể dẫn đến kết quả là hệ thống sẽ cố gắng đọc hoặc ghi in từ một vùng nhớ không được trỏ tới - gây ra lỗi phân đoạn hoặc xâm phạm truy cập (access violation). Khi đó, chương trình sẽ gặp lỗi hỏng hóc hoặc một ngoại lệ (exception) sẽ được "ném" ra. Tuy vậy, trong một số trường hợp, đây không phải là vấn đề nặng nề. Thí dụ, với các máy x86, địa chỉ 0000:0000 có thể được đọc và thường là có thể ghi được, cho nên, phép tham chiếu ngược biến con trỏ rỗng là hoàn toàn hợp lệ, một số hệ quả không mong muốn tuy không dẫn đến sập hệ thống nhưng cũng gây ra lỗi thiếu định nghĩa (undefined). Nên chú ý là cũng có những trường hợp khiến cho tham chiếu ngược con trỏ rỗng là có chủ đích và được định nghĩa tốt; ví dụ như mã BIOS viết bằng ngôn ngữ C cho các thiết bị x86 16-bit có thể viết IDT ở địa chỉ vật lý 0 của máy bằng cách sử dụng phép toán tham chiếu ngược một con trỏ rỗng. Trình biên dịch có thể tối ưu hóa bằng cách bằng cách không biên dịch phép tham chiếu ngược đối với con trỏ rỗng, nhằm ngặn chặn lỗi phân đoạn tuy nhiên vẫn có thể gây ra những [http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html hành vi nguy cơ khác]
C++
Trong ngôn ngữ lập trình C++, macro NULL
được kế thừa từ C, giá trị kiểu số nguyên zero được ưu tiên dùng để thể hiện một hằng số con trỏ. Tuy vậy, C++11 giới thiệu một giá trị hằng số con trỏ nullptr
để sử dụng thay thế.
Ngôn ngữ khác
Trong một số môi trường lập trình khác (at least one proprietary Lisp implementation, for example), giá trị được dùng làm con trỏ rỗng (được gọi là nil
trong Lisp) có thể thực sự là một con trỏ trỏ đến một khối dữ liệu nội hàm được sử dụng trong một hiện thực hóa nào đấy (nhưng không dễ dàng mà một chương trình người dùng có thể dễ dàng truy cập), thế là, bằng một register, người ta có thể sử dụng nó làm một hằng số hữu ích và lấy nó làm cách truy cập nội hàm hiện thực hóa. Ta gọi đây là vector nil
.
Với các ngôn ngữ sử dụng kiến trúc thẻ, một tagged union mà việc sử dụng nó bắt buộc phải quy định tường minh cách thức xử lý các trường hợp ngoại lệ có thể dùng để thay thế con trỏ rỗng; trong thực tế, con trỏ rỗng có thể được xem là một con trỏ được gắn thẻ và thẻ này có thể tính toán được.
Tham chiếu ngược
Vì con trỏ rỗng không tham chiếu tới bất kỳ một đối tượng có nghĩa nào, cố gắng thực hiện tham chiếu ngược (truy cập tới dữ liệu được lưu ở vùng nhớ đó) con trỏ rỗng thường (nhưng không phải luôn luôn) gây ra lỗi thời gian thực thi hoặc có thể khiến cho chương trình bị hư hại.
- Trong ngôn ngữ lập trình C, hành vi tham chiếu ngược cho biến con trỏ rỗng chưa được định nghĩa. Thực hiện phép toán này sẽ khiến cho chương trình bị dừng lại và gây nên lỗi phân đoạn, bởi vì việc sử dụng con trỏ rỗng để chỉ ra một địa chỉ không bao giờ được hệ thống cấp phát khu nhớ để lưu bất kỳ đối tượng nào. Tuy vậy, hành vi này không mang tính toàn cục.
- Đối với ngôn ngữ lập trình Java, tham chiếu đến một đối tượng rỗng sẽ sinh ra ngoại lệ (NPE), ngoại lệ này có thể được bắt giữ xử lý qua mã, nhưng trong thực tiễn, phương pháp được ưu tiên là người lập trình cần phải tính toán cẩn thận để kiểu ngoại lệ này không bao giờ xảy ra.
- Đối với môi trường.NET, tham chiếu đến một đối tượng rỗng sẽ phát sinh ngoại lệ NullReferenceException. Mặc dù bắt giữ ngoại lệ dạng này không được xem là cách thức lập trình tốt, chương trình vẫn có thể bắt và xử lý ngoại lệ này.
- Trong ngôn ngữ Objective-C, thông tin có thể gởi tới một đối tượng
nil
(được hiểu là một con trỏ rỗng) mà không khiến cho chương trình phải dừng đột ngột; thông tin này đơn giản là được bỏ qua, giá trị trả về (nếu có) là nil
hoặc 0
, tùy vào kiểu dữ liệu.
Lược sử
Năm 2009 C.A.R. Hoare cho biết
chính ông là người sáng tạo ra tham chiếu rỗng vào năm 1965 khi tạo ra ngôn ngữ lập trình Algol W, mặc dù NIL đã tồn tại trong Lisp kể từ năm 1959. Trong lần đề cập năm 2009 đó, Hoare nói rằng phát minh của ông là một "sai lầm tỉ đô":
👁️
2 | 🔗 | 💖 | ✨ | 🌍 | ⌚
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.
**_Chú bé rồng_** hay **con trai rồng** (kanji: ; _The Story of Wolf and Dragon_ hay _Legend of Dragon's Son_ trong tiếng Anh) là một bộ manga của tác giả Yamahara Yoshito. ## Tóm tắt
**Người con của Rồng** là một bộ phim hoạt hình 3D của đạo diễn Phạm Minh Trí, ra mắt lần đầu vào ngày 13 tháng 9 năm 2010 tại rạp Kim Đồng, trong dịp chào
**Rồng** (chữ Nôm: 𧍰, 𧏵, hay 蠬) hay **Long** (chữ Hán: 龍) là sinh vật thần thoại khổng lồ sở hữu phép thuật xuất hiện trong văn hóa dân gian ở nhiều nơi trên thế
**_Bí kíp luyện rồng: Vùng đất bí ẩn_** (tên gốc tiếng Anh: **_How to Train Your Dragon: The Hidden World_**) là một bộ phim hoạt hình máy tính 3D hành động giả tưởng Mỹ năm
nhỏ|Trò chơi video _[[Pong_ cỡ lớn tại Bảo tàng trò chơi điện tử quốc gia]] Một **trò chơi video** hay **video game** là một trò chơi điện tử liên quan đến sự tương tác với
Mùa đầu tiên của bộ phim truyền hình Hàn Quốc **Trò chơi con mực** do Hwang Dong-hyuk viết kịch bản và đạo diễn, được Netflix phát hành trực tuyến vào ngày 17 tháng 9 năm
**_Trò chơi con mực_** (Hangul: , tiếng Anh: _Squid Game_) là một bộ phim truyền hình Hàn Quốc do Hwang Dong-hyuk viết kịch bản và đạo diễn. Phim được Netflix phát hành trực tuyến vào
thế=Rồng thời Nguyễn.|Rồng thời Nguyễn, [[Tử Cấm thành (Huế)]] Con **rồng Việt Nam** là đối tượng trang trí xuất hiện trên kiến trúc, điêu khắc và hội họa. Hình tượng rồng Việt Nam mang bản
**_RollerCoaster Tycoon_** là một trò chơi mô phỏng xây dựng và quản lý xoay quanh công việc quản lý công viên giải trí. Trò chơi do hãng Chris Sawyer Productions phát triển và Hasbro Interactive
RONG NHO TÁCH NƯỚC SABUDOBÍ QUYẾT LÀM ĐẸP DA VÀ GIẢM CÂN TỪ BÊN TRONG CỦA NGƯỜI NHẬTRong nho biển được ví như những viên ngọc xanh của biển cả vì vị NGON, GIÒN RỘP
RONG NHO TÁCH NƯỚC SABUDOBÍ QUYẾT LÀM ĐẸP DA VÀ GIẢM CÂN TỪ BÊN TRONG CỦA NGƯỜI NHẬTRong nho biển được ví như những viên ngọc xanh của biển cả vì vị NGON, GIÒN RỘP
MUA 1 HỘP 30 gói RONG NHO TẶNG 1 CHAI ĐỰNG 500 MLCÓ_MỘT_SỰ_THẬT☘ TẠI SAO CÁC BẠN CẦN PHẢI UỐNG #RONG_NHO_CẦN_TÂY LỢI ÍCH TUYỆT VỜI #CẦN_TÂY HẠ HUYẾT ÁP GIẢM VIÊM, NGỪA LOÉT GIẢM LƯỢNG
MUA 1 HỘP 30 gói RONG NHO TẶNG 1 CHAI ĐỰNG 500 MLCÓ_MỘT_SỰ_THẬT☘ TẠI SAO CÁC BẠN CẦN PHẢI UỐNG #RONG_NHO_CẦN_TÂY LỢI ÍCH TUYỆT VỜI #CẦN_TÂY HẠ HUYẾT ÁP GIẢM VIÊM, NGỪA LOÉT GIẢM LƯỢNG
**Bản mở rộng** (tiếng Anh: _expansion pack_) là phần bổ sung cho một game nhập vai, tabletop game, trò chơi máy tính hoặc trò chơi điện tử. Những tiện ích này thường thêm vào các
**Vũ trụ Mở rộng DC** (tiếng Anh: **DC Extended Universe** hay viết tắt là **DCEU**) là một nhượng quyền truyền thông và vũ trụ giả tưởng của Mỹ tập trung vào một loạt các phim
Siro ăn ngon Centrum Kids Incremin Iron Mixture, hỗ trợ trẻ biếng ăn (200ml) Nhập khẩu Australia TRẺ BIẾNG ĂN NGUYÊN NHÂN DO ĐÂU ? Việc chăm sóc, nuôi dưỡng một đứa trẻ biếng ăn
AI không chỉ thay đổi cách thức vận hành của doanh nghiệp mà còn trở thành công cụ tiếp thị hiệu quả lớn trên môi trường số…Các giải pháp AI đang hỗ trợ các doanh
**Đồ thị con rùa** (tiếng Anh: **Turtle graphics**) là dạng đồ thị phổ biến trong ngành đồ họa máy tính. Đồ thị con rùa là đồ họa vector sử dụng con trỏ tương đối ("rùa")
**_StarCraft_** là một dòng game khoa học viễn tưởng quân sự do Chris Metzen và James Phinney tạo ra và thuộc quyền sở hữu của hãng Blizzard Entertainment. Dòng game này tập trung vào một
Mô phỏng dựa theo thuyết tương đối rộng về chuyển động quỹ đạo xoáy tròn và hợp nhất của hai hố đen tương tự với sự kiện [[GW150914. Minh họa hai mặt cầu đen tương
thumb|_Ma cà rồng_, tranh vẽ bởi [[Philip Burne-Jones, 1897]] **Ma cà rồng** là cách gọi một sinh vật huyền huyễn được truyền tụng từ lâu trong ký ức dân gian, loài này được cho là
**_7 viên ngọc rồng: Thời đại tiến hóa_** (tiếng Anh: **_Dragonball Evolution_**) là bộ phim điện ảnh thuộc thể loại hành động - phiêu lưu - kỳ ảo do Hoàng Nghị Du làm đạo diễn,
nhỏ|Bìa [[Weekly Shōnen Jump ngày 3 tháng 12 năm 1984 với chương đầu tiên của bộ truyện.]] là bộ truyện tranh nhiều tập được viết và vẽ minh họa bởi Toriyama Akira. Loạt truyện tranh
**_Mass Effect_** là một trò chơi điện tử nhập vai hành động phát triển bởi BioWare cho Xbox 360 sau đó được chuyển đến Microsoft Windows bởi Demiurge Studios. Phiên bản Xbox 360 đã được
**_Ticket to Ride_** là một trò chơi trên bàn kiểu Đức có mô phỏng đường sắt do Alan R. Moon thiết kế, Julien Delval và Cyrille Daujean minh họa. Trò chơi được Days of Wonder
**Lý thuyết trò chơi**, hoặc gọi **đối sách luận**, **lí luận ván cờ**, là một phân nhánh mới của toán học hiện đại, cũng là một môn học trọng yếu của vận trù học, tác
Thí nghiệm kiểm tra lý thuyết tương đối tổng quát đạt độ chính xác cao nhờ tàu thăm dò không gian [[Cassini–Huygens|Cassini (ảnh minh họa): Các tín hiệu radio được gửi đi giữa Trái Đất
nhỏ|Bìa sách Phỏng vấn ma cà rồng của Anne Rice **Phỏng vấn Ma cà rồng** (nguyên tác: _Interview with the Vampire_) là một cuốn tiểu thuyết về ma cà rồng được Anne Rice viết vào
**_Total War_** là một sê-ri trò chơi máy tính thể loại chiến lược được phát triển bởi hãng The Creative Assembly có trụ sở tại Horsham, Anh. Dòng game bao gồm cả chiến lược theo
phải|thumb|Đứa trẻ mới sinh và người mẹ. **Sinh con**, cũng được gọi là **sinh đẻ**, **vượt cạn**, **sinh nở**, hoặc **đẻ con**, là đỉnh điểm của quá trình thai nghén và sinh sản với việc
**_Gia Tộc Rồng_** (tựa gốc tiếng Anh: **_House of the Dragon_**) là một phim truyền hình của Mỹ sáng tạo bởi George R. R. Martin và Ryan Condal. Đây là phần tiền truyện của series
**Người Hobbit: Đại chiến với rồng lửa** () là phần phim thứ 2 trong series 3 phần của loạt phim _The Hobbit_. Phần trước của tác phẩm mang tên _The Hobbit: An Unexpected Journey_ đã
**Toán học của thuyết tương đối rộng** là mô hình chứa đựng cấu trúc và kỹ thuật toán học được sử dụng để nghiên cứu và thiết lập lên thuyết tương đối rộng của Einstein.
Rong nho có thể ăn sống, ăn cùng salad, làm chè, đồ uống... đều được. Thực phẩm này giàu dinh dưỡng nên bạn có thể kết hợp làm ra nhiều món ăn bổ dưỡng.Rong nho
Rong nho có thể ăn sống, ăn cùng salad, làm chè, đồ uống... đều được. Thực phẩm này giàu dinh dưỡng nên bạn có thể kết hợp làm ra nhiều món ăn bổ dưỡng.Rong nho
**Con lắc** theo định nghĩa chung nhất là một vật gắn vào một trục cố định mà nó có thể xoay (hay dao động) một cách tự do. Khi đưa con lắc dịch chuyển khỏi
nhỏ|phải|Thu hoạch rong biển ở Jambiani, [[Unguja]] **Rong biển** hay còn gọi là **tảo bẹ** là một thuật ngữ thông dụng và thiếu một định nghĩa chính thức chỉ những loài sinh vật sinh sống
**Trái Đất rỗng** là một tập hợp các thuyết cho rằng Trái Đất hoặc là hoàn toàn rỗng hoặc có chứa một không gian rỗng đáng kể bên trong nó. Các thuyết này từ lâu
phải **Hình tượng con Cá** xuất hiện trong văn hóa từ Đông sang Tây với nhiều ý nghĩa biểu trưng. Đặc biệt con cá gắn liền với biểu tượng cho nguồn nước và sự no
**Rồng rắn** hay **rồng rắn lên mây** là trò chơi truyền thống tập thể của trẻ em người Việt. Câu hát trong trò chơi này là một thể đồng dao. ## Thể thức Trò chơi
(hay còn được biết đến với tên gọi **_Yakuza_** đến năm 2022), là một dòng trò chơi điện tử đến từ Nhật Bản do Sega sáng tạo, sở hữu và phát hành. Loạt game _Yakuza_
Rong biển là một loại thực vật sống dưới nước, chủ yếu ở các vùng biển và đại dương. Với hình dạng phong phú, màu sắc đa dạng như xanh, đỏ, nâu, rong biển không
Rong biển là một loại thực vật sống dưới nước, chủ yếu ở các vùng biển và đại dương. Với hình dạng phong phú, màu sắc đa dạng như xanh, đỏ, nâu, rong biển không
**Hoàng tử Ba Tư** (tiếng Anh: **Prince of Persia**, thường được viết tắt là _PoP_) là trò chơi hành động trên máy tính dành cho một người chơi. Nhiệm vụ của người chơi là điều
Bìa đĩa của trò chơi The Sims **The Sims** là một trò chơi giả lập cuộc sống con người (simulation) được tạo ra bởi nhà thiết kế trò chơi máy tính Will Wright. Trò chơi
**PC game** còn gọi là **trò chơi máy tính**, là thể loại trò chơi video được chơi trên các máy tính cá nhân (PC), thay vì chơi trên máy chơi trò chơi điện tử tại
thumb|Nuôi _[[Eucheuma_ dưới biển ở Philippines]] **Nuôi trồng rong biển**, hay **nuôi trồng tảo biển**, là hoạt động nuôi trồng và thu hoạch rong biển. Ở dạng đơn giản nhất, nó bao gồm việc quản
nhỏ|Hai người chơi sử dụng bàn nhảy để chơi Dance Dance Revolution, một trong những trò chơi nhịp điệu thành công nhất **Trò chơi nhịp điệu** là một thể loại trò chơi điện tử âm
**Rồng Wawel** (), còn được gọi là _Rồng của đồi Wawel_, là một con rồng nổi tiếng trong văn hóa dân gian Ba Lan. Hang ổ của nó ở trong một hang động dưới chân