Mikä on nollahahmo?

Nollamerkki tietokoneohjelmoinnissa on merkki, jonka arvo on nolla. Se eroaa numerosta nolla, joka on osa painettua vakiomerkkiä. Null on itse asiassa kontrollimerkki, jonka indeksi on nolla. Sitä käytetään osoittamaan, että muuttuja, luokka tai osoitin on tyhjä, määrittelemätön tai sitä ei ole alustettu. Nullia käytetään myös C -ohjelmointikielessä merkkijonon lopun merkitsemiseen.

Nollamerkki oli alun perin yksi erikoisohjausmerkeistä, joita käytettiin kommunikoimaan oheislaitteiden, kuten tulostimien tai nauha -asemien, kanssa. Nullin alkuperäinen tarkoitus oli neuvoa laitetta tekemään mitään. Tekniikan kehittyessä kehittyneempiä ohjausmerkkejä tarvittiin vähemmän ulkoisten laitteiden liitäntöihin. Nolla pysyi useimmissa merkkijoukoissa, kuitenkin kohdassa nolla.

Monet ohjelmointikielet käyttävät null -merkkiä ilmaisemaan, että arvoa ei ole määritetty muuttujalle, osoittimelle tai luokalle. Null -arvo määritellään usein ohjelmointikielen ydinkirjastoissa arvoksi ‘/0’, joka muuttuu yhdeksi tyhjäksi merkkiksi. Muuttujan, jonka arvo on null, arvo ei ole nolla. Zero on täysin erilainen merkkikoodi, joten nolla- ja null -vastaavuustestit osoittavat väärän tuloksen. Tämä on suunniteltu, koska nolla voi olla muuttujan kelvollinen arvo.

Ohjelmointikieli, joka tunnetaan nimellä C, käyttää null -merkkiä tehokkaasti muistitilan säästämiseksi. Null -merkkiä käytetään merkkijonon lopussa, jota kutsutaan myös nollapäätteiseksi merkkijonoksi. Tämä sallii ohjelman tallentaa merkkijonon, joka tarvitsee vain yhden ylimääräisen tavun nollaterminaattorin pitämiseksi. Nollamerkkiä ei voitu näyttää eikä sitä käytetty muuhun tarkoitukseen, joten tämä järjestelmä toimi hyvin.

Kielet, jotka tulivat C: n jälkeen, alkoivat käyttää nullia uusien muuttujien ja luokkien alustamiseen. Useimmat kielimääritykset todella takaavat, että uudet ilmoitetut muuttujat ovat nolla. Samoin muuttujille voidaan antaa arvo null ilmaistakseen, että niillä ei ole arvoa tai että ne eivät osoita mihinkään muistipaikkaan.

Tietyt objektilähtöiset kielet voivat käyttää null-merkkiä roskien keräämisen aikana. Jos muuttuja, joka sisältää luokan ilmentymän, on nollattu, tiedot eivät ole tavoitettavissa, ellei toinen muuttuja viittaa toisin. Roskien keräysmekanismi, joka vapauttaa aiemmin käytettyä muistia, tunnistaa nyt saavuttamattomat tiedot ja palauttaa ne käytettävissä olevaan muistivarastoon. Muuttujan nimenomaista määrittämistä nullille pidetään joskus huonona ohjelmointityylinä.