Error no declarado NULL en C/C++ y cómo resolverlo

Qué es un error no declarado: cuando usamos alguna constante en nuestro programa, tal vez sean constantes integradas y pueden ser creadas por un usuario de acuerdo con el requisito. Pero cuando usamos alguna constante, y no están integradas y tampoco definidas por un usuario en esa condición, obtenemos un error no declarado. A continuación se muestra el código que muestra el ejemplo de error no declarado  NULL :

CPP

using namespace std;
 
// Driver Code
int main()
{
    // NULL declared
    int* num = NULL;
    return 0;
}

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

El código anterior mostrará un error como «Error no declarado NULL» . El motivo del error no declarado NULL es que «NULL» no es una constante integrada. ¿Por qué necesitamos NULL? Cuando creamos algún puntero en nuestro programa, se utilizan para almacenar direcciones. Pero una variable de puntero no inicializada es muy peligrosa, por lo que podemos asignarles NULL , lo que significa que no apuntan a ninguna ubicación de memoria, por lo que nuestro programa se ejecuta sin problemas y de forma segura. Ahora, si NULL no es una constante incorporada, ¿cómo podemos superar el error no declarado NULL? A continuación se muestra un código que se utiliza para eliminar el error no declarado NULL:

  • Asignar 0: en lugar de asignar NULL a num, simplemente podemos asignar 0 , lo que indica que no apunta a ninguna dirección, por lo que la solución más simple es simplemente asignar 0. El siguiente código muestra su implementación: 

CPP

using namespace std;
 
// Driver Code
int main()
{
    int* num = 0;
    return 0;
}

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

  • Incluir el archivo de encabezado «stddef.h»: en el archivo de encabezado stddef.h , NULL ya está definido, por lo que podemos incluir este archivo de encabezado en nuestro programa y nuestro programa se compilará y ejecutará sin ningún error. El siguiente código muestra su implementación: 

C

#include <stddef.h>
 
// Driver Code
int main()
{
    int* num = NULL;
    return 0;
}

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

  • Incluir el archivo de encabezado de iostream: en C++ , si queremos ejecutar nuestro programa sin un error no declarado NULL, simplemente podemos incluir iostream en nuestro programa y hacer que suceda sin ningún error. El siguiente código muestra su implementación: 

CPP

#include <iostream>
using namespace std;
 
// Driver Code
int main()
{
    int* num = NULL;
    return 0;
}

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

  • #define NULL 0: Usando la línea #define NULL 0 en nuestro programa, podemos resolver el error no declarado NULL. El siguiente código muestra su implementación: 

CPP

#define NULL 0
using namespace std;
 
// Driver Code
int main()
{
    int* num = NULL;
    return 0;
}

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

  • En C++ más reciente (C++ 11 y superior): : nullptr es una constante incorporada, por lo que podemos usarla en lugar de NULL.

CPP

#include <iostream>
using namespace std;
 
// Driver Code
int main()
{
    int* num = nullptr;
    return 0;
}

Complejidad de tiempo: O(1) // La declaración/inicialización toma un tiempo constante
Espacio auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por ramswarup_kulhary y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *