Null (programação)
(Redirecionado de Ponteiro nulo)
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
editarO 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).
É 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.