Skip to main content

¿Qué es un personaje nulo?

Un carácter nulo en la programación de computadoras es un carácter con el valor de cero. Es diferente del número cero, que forma parte del juego de caracteres impreso estándar. Nulo es en realidad un personaje de control con el índice de cero. Se utiliza para indicar que una variable, clase o puntero está vacía, indefinida o no inicializada. Un nulo también se usa en el lenguaje de programación C para marcar el final de una cadena de caracteres.

El carácter nulo originalmente era uno de una serie de caracteres de control especiales utilizados para comunicarse con hardware periférico como impresoras o unidades de cinta. El significado original de nulo era instruir a un dispositivo para que no hiciera nada. A medida que la tecnología se volvió más sofisticada, los caracteres de control se necesitaron menos para interactuar con dispositivos externos. El nulo permaneció en la mayoría de los conjuntos de caracteres, sin embargo, en la posición cero.

Muchos lenguajes de programación usan el carácter nulo para indicar que no se ha asignado un valor a una variable, puntero o clase. El valor de nulo a menudo se define dentro de las bibliotecas principales del lenguaje de programación como el valor '/ 0', que se traduce en un solo carácter en blanco. Una variable con el valor nulo no tiene el valor cero. Cero es un código de caracteres completamente diferente, por lo que las pruebas de equivalencia entre cero y nulo mostrarán un resultado falso. Esto es así por diseño, porque cero puede ser un valor válido para una variable.

El lenguaje de programación conocido como C utiliza el carácter nulo con gran efecto para ahorrar espacio en la memoria. El carácter nulo se usa como el final de una cadena de caracteres, también llamada cadena terminada en nulo. Esto permite que el programa almacene una cadena con la necesidad de un solo byte adicional para contener el terminador nulo. El carácter nulo no se pudo mostrar y no se usó para ningún otro propósito, por lo que este sistema funcionó bien.

Los lenguajes que surgieron después de que C comenzó a usar nulo para inicializar nuevas variables y clases. La mayoría de las especificaciones de lenguaje realmente garantizan que las variables recién declaradas serán nulas. Del mismo modo, a las variables se les puede asignar el valor nulo para indicar que no tienen ningún valor o que no apuntan a ninguna ubicación de memoria.

Ciertos lenguajes orientados a objetos pueden usar el carácter nulo durante el proceso de recolección de basura. Si una variable que contiene una instancia de una clase se establece como nula, los datos se vuelven inalcanzables a menos que otra variable haga referencia a ella. El mecanismo de recolección de basura, que libera la memoria que se estaba utilizando anteriormente, detecta los datos ahora inalcanzables y los devuelve al grupo de memoria disponible. Asignar explícitamente una variable a nulo a veces se considera un estilo de programación pobre.