NULL

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Null)
Jump to navigation Jump to search
Nota disambigua.svg Disambiguazione – Se stai cercando il fotografo statunitense, vedi Harold Miller Null.

In diversi contesti dell'informatica e della matematica, la parola tedesca null viene usata per indicare un particolare elemento di un insieme che svolge, in qualche senso, una funzione simile a quella dello zero matematico. Il termine deriva dal latino nullus e viene talvolta reso in italiano con nullo; in altre occasioni, con riferimento esplicito alla sintassi di specifici linguaggi formali (per esempio linguaggi di programmazione), il termine viene anche riportato come NULL, con tutte le lettere maiuscole.

Dallo zero al null[modifica | modifica wikitesto]

Magnifying glass icon mgx2.svgLo stesso argomento in dettaglio: Zero.

Nei sistemi di numerazione convenzionali, la cifra zero ha la caratteristica eccezionale di non rappresentare alcun valore di quantità; lo si può descrivere come una "cifra vuota".

Storicamente, la necessità di disporre di uno zero nacque nei sistema di numerazione posizionali; lo zero ha infatti la funzione peculiare (rispetto alle altre cifre) di agire solo sul sistema delle posizioni. Nel numero "300", per esempio, i due zeri finali influiscono solo sulla posizione del "3" (consentendo di interpretarlo come 3 centinaia), ma non rappresentano quantità parziali significative per la valutazione del numero complessivo; diversamente accade, per esempio, per i due "1" finali di "311".

In modo analogo, il "null" compare in molti linguaggi formali laddove è necessario un valore per riempire una certa "posizione" (in senso ampio) ma in realtà la posizione deve essere riempita con un valore "vuoto", un puro segnaposto che non descrive nessun valore significativo o utilizzabile. (In tedesco e in norvegese, tra l'altro, la parola "null" significa "zero").

Il null in programmazione[modifica | modifica wikitesto]

In programmazione, NULL o null è un valore speciale dei tipi puntatore (o riferimento), che rappresentano (a diversi livelli di astrazione) indirizzi di memoria di strutture dati. In questo contesto, il valore speciale "null" viene usato per indicare che il puntatore non contiene l'indirizzo di memoria di alcuna struttura dati. Spesso, il valore di null coincide con lo 0 numerico, poiché l'indirizzo di memoria "0" è un indirizzo inaccessibile in quasi tutti i sistemi operativi. Tuttavia, alcuni linguaggi di programmazione adottano convenzioni diverse e molti lasciano alle implementazioni di compilatori o interpreti la libertà di fare coincidere o meno i due valori. In quest'ultimo caso, al programmatore si suggerisce di distinguere comunque lo zero dal null che sarà rappresentato tipicamente da una parola chiave del linguaggio o da una macro come il NULL del C, al fine di preservare la portabilità del codice sorgente.

In altri casi null viene utilizzato per descrivere un valore "sconosciuto", "indefinito" o assente di una variabile[1]. In SQL, per esempio, un certo campo potrebbe assumere un valore "defppoolpinito", oppure il valore speciale NULL, che indica che tale valore non è conosciuto[2]. Vi è un dibattito a livello accademico fra chi sostiene che NULL dovrebbe indicare un valore sconosciuto e chi sostiene che dovrebbe indicare l'assenza di un valore. In pratica quando si legge il valore corrente di una colonna a 0 si può avere un NULL che significa "il valore del campo non è noto", ma che può essere anche interpretato come "il campo è vuoto"; quando invece viene valutata una qualsiasi espressione che coinvolge anche un solo campo NULL ciò che si ottiene alla fine è ancora NULL, indipendentemente dal tipo di espressione e questo ben si associa col significato di indefinito (es.: la somma di un numero qualsiasi con un numero indefinito dà sempre un risultato indefinito).

Altri significati in informatica[modifica | modifica wikitesto]

Altri esempi di uso della parola "null" nel senso generale di "nullo" o "vuoto" sono i seguenti:

  • /dev/null è un dispositivo virtuale di input/output nei sistemi di tipo UNIX. Questo dispositivo non fornisce input e scarta l'eventuale output (ovvero non fa "nulla"). Il dispositivo NUL è l'equivalente per i sistemi operativi DOS e Microsoft Windows.
  • Nella codifica ASCII dei caratteri, NUL è il carattere con codice 0: non ha una rappresentazione grafica e non può essere prodotto da una tastiera. Spesso viene utilizzato come terminatore di stringa. Nella codifica Unicode, che estende l'ASCII, il NUL è ancora 0, in genere rappresentato nella forma esadecimale "0x0000".

Note[modifica | modifica wikitesto]

  1. ^ null - JavaScript, su MDN. URL consultato il March 4, 2016.
  2. ^ (EN) SQL NULL Values - IS NULL and IS NOT NULL, su w3schools.com. URL consultato il March 4, 2016.