Co to jest znak zerowy?
Znak zerowy w programowaniu komputerowym to znak o wartości zero. Różni się od zera liczbowego, który jest częścią standardowego zestawu znaków drukowanych. Null jest w rzeczywistości znakiem kontrolnym o indeksie zero. Służy do wskazania, że zmienna, klasa lub wskaźnik jest pusty, niezdefiniowany lub nie został zainicjowany. W języku programowania C używana jest również wartość null, która oznacza koniec łańcucha znaków.
Znak zerowy był pierwotnie 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. Ponieważ technologia stała się bardziej wyrafinowana, znaki kontrolne były mniej potrzebne do komunikacji z urządzeniami zewnętrznymi. Wartość null pozostała w większości zestawów znaków, jednak na pozycji zero.
Wiele języków programowania używa znaku null, aby wskazać, że wartość nie została przypisana do zmiennej, wskaźnika ani 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 znakowy, więc testy równoważności od zera do null pokażą wynik fałszu. Jest to zgodne z projektem, ponieważ zero może być prawidłową wartością dla zmiennej.
Język programowania znany jako C używa znaku null, aby uzyskać doskonały efekt w celu zaoszczędzenia miejsca w pamięci. Znak null jest używany jako koniec ciągu znaków, zwany również ciągiem zakończonym znakiem null. Umożliwia to programowi przechowywanie łańcucha z potrzebą tylko jednego dodatkowego bajtu do przechowywania terminatora zerowego. Znak zerowy nie mógł zostać wyświetlony i nie został użyty w żadnym innym celu, więc ten system działał dobrze.
Języki, które pojawiły się po C, zaczęły używać wartości null do inicjowania nowych zmiennych i klas. Większość specyfikacji języka 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ą żadnej lokalizacji pamięci.
Niektóre języki obiektowe mogą używać znaku zerowego podczas procesu wyrzucania elementów bezużytecznych. Jeśli zmienna przechowująca instancję klasy ma wartość null, dane stają się nieosiągalne, chyba że inna zmienna odwołuje się do niej. Mechanizm wyrzucania elementów bezużytecznych, który zwalnia wcześniej używaną pamięć, wykrywa niedostępne teraz dane i zwraca je do dostępnej puli pamięci. Jawne przypisanie zmiennej wartości null jest czasem uważane za zły styl programowania.