Latest web development tutorials

C ++ Null Pointer

C ++ указатели C ++ указатели

Во время объявления переменных, если не точный адрес может быть назначен, присвоить значение NULL для переменной указателя является хорошей практикой программирования. Значение указателя NULL Fu называетсянулевым указателем.

Указатель NULL определен в стандартной библиотеке нулевых констант. Рассмотрим следующую программу:

#include <iostream>

using namespace std;

int main ()
{
   int  *ptr = NULL;

   cout << "ptr 的值是 " << ptr ;
 
   return 0;
}

Когда приведенный выше код компилируется и выполняется, он дает следующие результаты:

ptr 的值是 0

В большинстве операционных систем, программа не позволяет получать доступ к адресу памяти 0, потому что память резервируется для операционной системы. Тем не менее, адрес памяти 0 имеет особое значение, это указывает на то, что указатель не указывает на доступную ячейку памяти. Но в соответствии с соглашением, если указатель содержит нулевое значение (нулевое значение), то предполагается, что он не указывает ни на что.

Для проверки нулевой указатель, вы можете использовать, если заявление, следующим образом:

if(ptr)     /* 如果 p 非空,则完成 */
if(!ptr)    /* 如果 p 为空,则完成 */

Поэтому, если все неиспользованные указатели нулевое значение, избегая при этом использования нулевого указателя, то можно предотвратить неправильное использование неинициализированного указателя. Во многих случаях неинициализированная есть некоторое значение мусора, вызывает программу трудной для отладки.

C ++ указатели C ++ указатели