¿Qué es ‘nulo’?

Significa cosas ligeramente diferentes en diferentes idiomas:

  • En C, NULL es (casi) siempre 0, y se usa para indicar valores de puntero que no se han establecido en nada, ya que la dirección de memoria cero casi nunca es válida en el hardware moderno. Muchas funciones de C que devuelven cadenas o punteros devuelven NULL en caso de error. Aquí están las preguntas frecuentes de C sobre punteros nulos.
  • En muchos otros lenguajes, en particular los lenguajes OO, nulo puede significar un objeto indefinido o inexistente, y se utiliza operativamente de manera similar al valor C como retorno de error o valor inicial.
  • En algunos otros idiomas, como Lisp, nil transmite una idea similar.
  • En SQL, NULL es algo muy complicado (y bastante malvado, si desafortunadamente es necesario): la respuesta de Greg Kemnitz a ¿Cuál es el significado de NULL en SQL?

Dicho esto, la “idea” de NULL, o nulo, es representar alguna noción de un estado “indefinido” de un objeto o estructura de datos.

Como generalización , en lenguajes de programación:

  1. nulo es una constante especial mantenida por los compiladores de idiomas, que es compatible con todos los tipos de datos compatibles;
  2. nulo representa un valor, que no está en el rango de valores de ninguno de los tipos de datos admitidos;

Entonces, para responder a la pregunta: una variable, que es nula , significa que ha sido asignada (no está sin inicializar) y no tiene un valor válido (por lo que todas las operaciones específicas del tipo de datos no son aplicables) ;

Null es básicamente indefinido. No es [matemáticas] 0 [/ matemáticas], no es “” , no es nada.

Es por eso que las personas con el apellido “Nulo” tienen problemas para registrarse en línea. El sitio web confunde “Nulo” con Null .

También es por qué algunas aplicaciones mal diseñadas dicen que las personas tomaron fotos en este lugar.

Si una imagen tiene una etiqueta geográfica, pero la ubicación es desconocida, entonces las coordenadas son ( Null , Null ) Es porque eso tiene exactamente 0 grados de longitud y 0 grados de latitud. La aplicación no confunde nada ( Null ) con nada ([matemática] 0 [/ matemática]).

Un carácter que tiene todos sus bits establecidos en 0. Un carácter nulo , por lo tanto, tiene un valor numérico de 0, pero tiene un significado especial cuando se interpreta como texto. En algunos lenguajes de programación , especialmente C, se usa un carácter nulo para marcar el final de una cadena de caracteres.

En la base de datos y la aplicación de hoja de cálculo, los caracteres nulos se usan a menudo como relleno y se muestran como espacios.

Hay una diferencia básica entre nulo e indefinido.

El valor nulo de una variable representa una variable vacía, mientras que indefinido / sin asignar se refiere a una variable que se declara pero no se inicia (se le asigna un valor).

‘nulo’ es un valor de asignación.

Indefinido y Nulo son dos tipos distintos donde indefinido es un tipo en sí mismo, mientras que nulo es un objeto.

En JavaScript

Por ejemplo:

Var X; // indefinido
Var Y = nulo; // definido

Nota:

nulo == indefinido // verdadero
nulo === indefinido // falso
nulo = ‘valor’; // Error de referencia
undefined = ‘valor’; //valor

No significa nada. Más literalmente Significa que no tiene sentido.

Se puede entender mejor cuando se trata de fechas y números. NULL alfanumérico es incómodo y no es realmente preciso, ya que diferencia entre una cadena en blanco y la falta de valor representada por NULL.

Con los números, NULL es el mejor resultado en la división, donde está claro que la división por cero produce un error, pero la división por NULL devuelve NULL.

Con las fechas, se puede describir mejor como una fecha de infinito en ambas direcciones (fecha más reciente y fecha más temprana). Por lo tanto, cuando se le pregunta si hoy es antes o después de NULL, la respuesta a ambas preguntas es NULL, lo que demuestra que hoy NO es ni antes ni después de NULL.

Hay: null, NULL, nullptr, nil según el idioma. En lenguajes de programación como C / C ++ NULL (nullptr en C ++ nuevo) o nil en pascal o Objective-C significa que el puntero está asignado pero no apunta a datos (apunta a nada). En Java y C # el puntero se llama referencia, porque no se puede establecer en ninguna dirección en la memoria, pero también puede ser nulo (no tener ningún objeto asignado). NULL en SQL (SQL, como HTML, no es lenguaje de programación pero pertenece a lenguajes de computadora) significa que no hay datos. En lenguajes como C / C ++, Java, los tipos primitivos de C # (enteros, números de coma flotante, caracteres, booleanos) no pueden ser NULL, en SQL todos los tipos de datos pueden ser nulos. SQL y Pascal no distinguen entre mayúsculas y minúsculas, por lo que puede escribir nulo, NULO, Nulo, etc.

NULL representa un valor desconocido:

  • No es ni verdadero ni falso.
  • No es igual a una cadena vacía.
  • No es igual a cero.

De hecho, dos campos que contenían valores NULL ni siquiera serían iguales entre sí porque ninguno de ellos tiene un valor. Por esta razón en SQL cuando busca un valor NULL que no usa =, usa la frase IS NULL.

Cada vez que definimos una variable, la usamos para asignar un valor que puede usarse en nuestro programa.

A veces queremos definir una variable que queremos usar más adelante. Pero lenguajes como Java arrojan un error de compilación si las variables no tienen un valor asignado.

Para superar este problema, podemos asignar un valor “nulo” a esas variables.

Cadena x; // x no está definido

Cadena x = nulo; // La cadena está definida y tiene un valor nulo

Tenga en cuenta que indefinido y nulo no son lo mismo.

Al buscar en Google, muestra que nulo es

  1. no tener fuerza legal o vinculante; inválido.
  2. teniendo o asociado con el valor cero.

Ambos son técnicamente correctos para el lenguaje de programación.

NULO:

Vacío. Nada. Desconocido. Indefinido Cero. Limpiar.

NULL es desconocido. No es cero, o una cadena vacía, es desconocida.