Co je nulová postava?
Nulový znak v počítačovém programování je znak s hodnotou nula. Liší se od nuly, která je součástí standardní tištěné znakové sady. Null je vlastně kontrolní znak s indexem nula. Používá se k označení, že proměnná, třída nebo ukazatel jsou prázdné, nedefinované nebo neinicializované. Null se také používá v programovacím jazyce C k označení konce řetězce znaků.
Nulový znak byl původně jedním ze řady speciálních řídících znaků používaných pro komunikaci s periferním hardwarem, jako jsou tiskárny nebo páskové jednotky. Původní význam nuly spočíval v pokynu zařízení, aby neudělal nic. Když se technologie stala sofistikovanější, bylo pro propojení s externími zařízeními potřeba méně ovládacích znaků. Ve většině znakových sad však null zůstala na pozici nula.
Mnoho programovacích jazyků používá znak null k označení, že hodnota nebyla přiřazena proměnné, ukazateli nebo třídě. Hodnota null je často definována v základních knihovnách programovacího jazyka jako hodnota '/ 0', což se promítá do jednoho prázdného znaku. Proměnná s hodnotou null nemá hodnotu nula. Nula je zcela odlišný znakový kód, takže testy ekvivalence mezi nulou a nulou ukážou výsledek false. Je to záměrné, protože nula může být platnou hodnotou proměnné.
Programovací jazyk známý jako C používá nulovou postavu, aby se efektně ušetřil paměťový prostor. Null znak se používá jako konec řetězce znaků, také nazývaný řetězec zakončený nulou. To umožňuje programu ukládat řetězec s potřebou pouze jednoho extra bajtu pro držení nulového terminátoru. Nulový znak nelze zobrazit a nebyl použit k žádnému jinému účelu, takže tento systém fungoval dobře.
Jazyky, které přišly po C, začaly používat null k inicializaci nových proměnných a tříd. Většina jazykových specifikací skutečně zaručuje, že nově deklarované proměnné budou rovny null. Podobně lze proměnným přiřadit hodnotu null, což znamená, že nemají žádnou hodnotu nebo že nesměřují na žádné umístění v paměti.
Některé objektově orientované jazyky mohou během procesu sběru odpadu používat nulový znak. Pokud je proměnná obsahující instanci třídy nastavena na null, data se stanou nedostupnými, pokud není na jinou proměnnou odkazováno jinak. Mechanismus sběru odpadu, který uvolňuje dříve používanou paměť, detekuje nyní nedostupná data a vrací je do dostupné paměti. Explicitní přiřazení proměnné null je někdy považováno za špatný styl programování.