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