Необъявленная ошибка NULL в C / C ++ и способы ее устранения

Опубликовано: 16 Декабря, 2021

Что такое необъявленная ошибка:
Когда мы используем некоторую константу в нашей программе, они могут быть встроенными константами и могут быть созданы пользователем в соответствии с требованиями. Но когда мы используем некоторую константу, а они не являются встроенными и также не определены пользователем в этом состоянии, мы получаем необъявленную ошибку.

Ниже приведен код, показывающий пример необъявленной ошибки NULL:

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

Приведенный выше код покажет ошибку как «необъявленная ошибка NULL» . Причина необъявленной ошибки NULL в том, что «NULL» не является встроенной константой.

Зачем нам NULL?
Когда мы создаем какой-либо указатель в нашей программе, они используются для хранения адресов. Но неинициализированные переменные-указатели очень опасны, так что мы можем присвоить им NULL, что означает, что они не указывают ни на какую ячейку памяти, поэтому наша программа работает плавно и безопасно.
Теперь, если NULL не является встроенной константой, как мы можем преодолеть необъявленную ошибку NULL.

Ниже приведен код, который используется для удаления необъявленной ошибки NULL:

  1. Присвоить 0: вместо присвоения NULL для num мы можем просто присвоить 0, что означает, что он не указывает какой-либо адрес, поэтому простейшим решением является просто присвоение 0.
    Код ниже показывает его реализацию:
    using namespace std;
    // Driver Code
    int main()
    {
    int * num = 0;
    return 0;
    }
  2. Включите файл заголовка «stddef.h»: в файле заголовка stddef.h уже определен NULL , поэтому мы можем включить этот файл заголовка в нашу программу, и наша программа будет компилироваться и выполняться без каких-либо ошибок.
    Код ниже показывает его реализацию:
    #include <stddef.h>
    // Driver Code
    int main()
    {
    int * num = NULL;
    return 0;
    }
  3. Включите файл заголовка iostream: в C ++, если мы хотим выполнить нашу программу без необнаруженной ошибки NULL, мы можем просто включить iostream в нашу программу и сделать это без ошибок.
    Код ниже показывает его реализацию:
    #include <iostream>
    using namespace std;
    // Driver Code
    int main()
    {
    int * num = NULL;
    return 0;
    }
  4. #define NULL 0: Используя строку #define NULL 0 в нашей программе, мы можем решить необъявленную ошибку NULL.
    Код ниже показывает его реализацию:
    #define NULL 0
    using namespace std;
    // Driver Code
    int main()
    {
    int * num = NULL;
    return 0;
    }
  5. В новом C ++ (C ++ 11 и выше):: nullptr - это встроенная константа, поэтому мы можем использовать ее вместо NULL.
    #include <iostream>
    using namespace std;
    // Driver Code
    int main()
    {
    int * num = nullptr;
    return 0;
    }
    Хотите учиться на лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для языка и STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .