Vad är ett nolltecken?

Ett nolltecken i datorprogrammering är ett tecken med värdet noll. Det skiljer sig från siffran noll, som är en del av den standardutskrivna teckenuppsättningen. Null är faktiskt ett kontrolltecken med index noll. Den används för att indikera att en variabel, klass eller pekare är tom, odefinierad eller inte initierad. En noll används också i programmeringsspråket C för att markera slutet på en teckensträng.

Nulltecknet var ursprungligen ett av en serie speciella kontrolltecken som användes för att kommunicera med perifer hårdvara som skrivare eller bandenheter. Den ursprungliga innebörden av null var att instruera en enhet att inte göra någonting. När tekniken blev mer sofistikerad behövdes kontrolltecken mindre för gränssnitt med externa enheter. Nollvärdet förblev i de flesta teckenuppsättningar, dock vid position noll.

Många programmeringsspråk använder noll-tecknet för att indikera att ett värde inte har tilldelats en variabel, pekare eller klass. Värdet på null definieras ofta inom programmeringsspråkets kärnbibliotek som värdet ’/0’, vilket översätts till ett enda tomt tecken. En variabel med värdet null har inte värdet noll. Noll är en helt annan teckenkod, så tester av likvärdighet mellan noll och noll kommer att visa resultatet av falskt. Detta är av design, eftersom noll kan vara ett giltigt värde för en variabel.

Programmeringsspråket som kallas C använder noll-tecknet med stor effekt för att spara minnesutrymme. Null-tecknet används som slutet på en teckensträng, även kallad en noll-terminerad sträng. Detta gör att programmet kan lagra en sträng med behov av endast en extra byte för att hålla nollterminatorn. Null-tecknet kunde inte visas och användes inte för något annat syfte, så det här systemet fungerade bra.

Språk som kom efter C började använda null för att initiera nya variabler och klasser. De flesta språkspecifikationer garanterar faktiskt att nyligen deklarerade variabler är lika med null. På liknande sätt kan variabler tilldelas värdet null för att indikera att de inte har något värde eller att de inte pekar på någon minnesplats.

Vissa objektorienterade språk kan använda noll-tecknet under processen med sophämtning. Om en variabel som innehåller en instans av en klass är inställd på null, blir data oåtkomlig om inte annat refereras av en annan variabel. Skräpinsamlingsmekanismen, som frigör minne som tidigare använts, upptäcker nu oåtkomlig data och returnerar den till den tillgängliga minnespoolen. Att explicit tilldela en variabel till null anses ibland vara en dålig programmeringsstil.