Što je nulti znak?

Nulti znak u računalnom programiranju je znak s vrijednošću nula. Razlikuje se od broja nula, koji je dio standardnog skupa ispisanih znakova. Null je zapravo kontrolni znak s indeksom nula. Koristi se za označavanje da je varijabla, klasa ili pokazivač prazan, nedefiniran ili nije inicijaliziran. Null se također koristi u programskom jeziku C za označavanje kraja niza znakova.

Null znak izvorno je bio jedan od niza posebnih kontrolnih znakova koji se koriste za komunikaciju s perifernim hardverom kao što su pisači ili trake. Izvorno značenje nule bilo je uputiti uređaj da ne radi ništa. Kako je tehnologija postajala sve sofisticiranija, kontrolni znakovi su bili sve manje potrebni za povezivanje s vanjskim uređajima. Null je ostala u većini skupova znakova, međutim, na poziciji nula.

Mnogi programski jezici koriste null znak za označavanje da vrijednost nije dodijeljena varijabli, pokazivaču ili klasi. Vrijednost null često se definira unutar knjižnica jezgre programskog jezika kao vrijednost ‘/0’, što se prevodi u jedan prazan znak. Varijabla s vrijednošću null nema vrijednost nula. Nula je potpuno drugačiji kod znakova, tako da će testovi ekvivalencije između nule i nule pokazati rezultat false. To je zamišljeno, jer nula može biti valjana vrijednost za varijablu.

Programski jezik poznat kao C koristi nulti znak s velikim efektom za uštedu memorijskog prostora. Null znak se koristi kao kraj niza znakova, koji se također naziva null prekinuti niz. To omogućuje programu da pohrani niz s potrebom za samo jednim dodatnim bajtom za držanje null terminatora. Nulti znak nije se mogao prikazati i nije korišten ni u jednu drugu svrhu, tako da je ovaj sustav dobro funkcionirao.

Jezici koji su došli nakon C počeli su koristiti null za inicijalizaciju novih varijabli i klasa. Većina jezičnih specifikacija zapravo jamči da će novodeklarirane varijable biti jednake null. Slično, varijablama se može dodijeliti vrijednost null kako bi se naznačilo da nemaju vrijednost ili da ne upućuju ni na jednu memorijsku lokaciju.

Određeni objektno orijentirani jezici mogu koristiti null znak tijekom procesa prikupljanja smeća. Ako je varijabla koja drži instancu klase postavljena na null, podaci postaju nedostupni osim ako druga varijabla ne referencira drugačije. Mehanizam prikupljanja smeća, koji oslobađa memoriju koja se prethodno koristila, detektira sada nedostupne podatke i vraća ih u raspoloživi memorijski skup. Eksplicitno dodjeljivanje varijable null ponekad se smatra lošim stilom programiranja.