Null (programação)
# Null (programação)

Em programação de computadores, null é um valor especial para um ponteiro (ou qualquer outro tipo de referência) que indica que este ponteiro, intencionalmente, não se refere a um objeto (ponteiro nulo). Freqüentemente, nos programas escritos na linguagem C, um valor binário 0 (zero) é utilizado como valor nulo, já que a maioria dos sistemas operacionais consideram um erro acessar um endereço de memória "tão baixo".

## Significados em outras áreas da Ciência da Computação

O valor null é utilizado em outras disciplinas da Ciência da Computação (muitas vezes com as variações nul ou nil):
* Nos sistemas operacionais do tipo Unix, o dispositivo /dev/null é uma referência ao dispositivo nulo, um arquivo especial que descarta dados enviados para ele e que não retorna dados para os processos que o lêem. Nos sistemas DOS e Microsoft Windows o dispositivo NUL tem comportamento similar.
* Nos conjunto de códigos de controle C0, definido na ISO646 e utilizado na tabela ASCII e no padrão de codificação Unicode, o código de valor 0 é chamado de caractere nulo.
* Em algumas linguagens de programação, como o LISP, Pascal (o Delphi e algumas variações do Pascal utilizam "null" para a "variante null", fato que provoca confusões que levam a erros, quando o "null" é utilizado no lugar do "nil") e na linguagem de programação Ruby, este valor é chamado de nil.
* Em muitas disciplinas, o conceito de null permite a lógica de múltiplos valores, com o valor null indicando "valor desconhecido". A linguagem de base de dados SQL utiliza o "Null" desta maneira, como faz o Visual Basic (com o termo "Nothing") e os seus derivados. Neste modelo, uma expressão que depende do valor de um operando Null irá retornar Null (Visual Basic) ou "valor desconhecido" (SQL). Portanto, para qualquer A, a expressão "A = Null" e "A <> Null" não resulta em verdadeiro ou falso. Porém, a operação booleana "A e falso" produz falso e, de forma similar, "A ou verdadeiro" é verdadeiro mesmo quando A é igual a Null, devido ao fato destas expressões não dependerem do valor de A. (Algumas implementações da linguagem SQL podem considerar A = Null igual a verdadeiro se A tem valor Null).
* Em algumas linguagens de programação, o caractere null pode significar o fim de uma string.
É importante notar que o "null" (nulo) não tem o mesmo significado que o "nada", pois é relacionado apenas com a Ciência da Computação.