Znak zerowy w programowaniu komputerowym to znak o wartości zero. Różni się od cyfry zero, która jest częścią standardowego zestawu znaków drukowanych. Null jest właściwie znakiem kontrolnym o indeksie zero. Służy do wskazania, że zmienna, klasa lub wskaźnik jest pusta, niezdefiniowana lub nie została zainicjowana. Null jest również używany w języku programowania C do oznaczenia końca ciągu znaków.
Pierwotnie znak pusty był jednym z szeregu specjalnych znaków sterujących używanych do komunikacji ze sprzętem peryferyjnym, takim jak drukarki lub napędy taśmowe. Pierwotnym znaczeniem null było poinstruowanie urządzenia, aby nic nie robiło. W miarę jak technologia stawała się coraz bardziej wyrafinowana, znaki kontrolne były mniej potrzebne do łączenia się z urządzeniami zewnętrznymi. Jednak null pozostał w większości zestawów znaków na pozycji zero.
Wiele języków programowania używa znaku null do wskazania, że wartość nie została przypisana do zmiennej, wskaźnika lub klasy. Wartość null jest często definiowana w podstawowych bibliotekach języka programowania jako wartość ‘/0’, co przekłada się na pojedynczy pusty znak. Zmienna o wartości null nie ma wartości zero. Zero to zupełnie inny kod znaku, więc testy równoważności między zerem a wartością null pokażą wynik fałszywy. Jest to zgodne z projektem, ponieważ zero może być prawidłową wartością zmiennej.
Język programowania znany jako C wykorzystuje znak null z doskonałym skutkiem, aby zaoszczędzić miejsce w pamięci. Znak null jest używany jako koniec łańcucha znaków, zwanego także łańcuchem zakończonym znakiem null. Pozwala to programowi na przechowywanie ciągu z potrzebą tylko jednego dodatkowego bajtu do przechowywania terminatora zerowego. Znak null nie mógł zostać wyświetlony i nie był używany do żadnych innych celów, więc ten system działał dobrze.
Języki, które pojawiły się po C, zaczęły używać null do inicjowania nowych zmiennych i klas. Większość specyfikacji językowych faktycznie gwarantuje, że nowo zadeklarowane zmienne będą miały wartość null. Podobnie zmiennym można przypisać wartość null, aby wskazać, że nie mają wartości lub że nie wskazują na żadną lokalizację w pamięci.
Niektóre języki zorientowane obiektowo mogą używać znaku null podczas procesu wyrzucania elementów bezużytecznych. Jeśli zmienna zawierająca instancję klasy jest ustawiona na wartość null, dane stają się niedostępne, chyba że inna zmienna odwołuje się w inny sposób. Mechanizm garbage collection, który zwalnia pamięć, która była wcześniej używana, wykrywa teraz niedostępne dane i zwraca je do dostępnej puli pamięci. Jawne przypisanie zmiennej do wartości null jest czasami uważane za kiepski styl programowania.