Latest web development tutorials

C ++ Null Pointer

Wskaźniki C ++ Wskaźniki C ++

W momencie deklaracji zmiennych, jeśli nie dokładny adres może być przypisany przypisać wartość NULL dla zmiennej wskaźnik jest to dobra praktyka programowania. Fu NULL wartość wskaźnika jest nazywany wskaźnikiemNULL.

Wskaźnik NULL jest zdefiniowana w bibliotece standardowej zerowe stałych. Rozważmy następujący program:

#include <iostream>

using namespace std;

int main ()
{
   int  *ptr = NULL;

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

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

ptr 的值是 0

W większości systemów operacyjnych, program nie zezwala na dostęp do adresu pamięci 0, ponieważ pamięć jest zarezerwowana dla systemu operacyjnego. Jednak adres pamięci 0 ma specjalne znaczenie, oznacza to, że wskaźnik nie wskazuje dostępnym miejscu pamięci. Ale zgodnie z konwencją, jeśli wskaźnik zawiera wartość null (wartość zero), zakłada się, że nie wskazują na nic.

Aby sprawdzić wskaźnikiem NULL, można użyć instrukcji if, co następuje:

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

Dlatego też, jeżeli wszystkie wskaźniki niewykorzystane są przypisane do wartości zerowej, podczas gdy unika się stosowania zerowy wskaźnik, to jest możliwe, aby zapobiec niewłaściwemu niezainicjowanego wskaźnika. W wielu przypadkach, zmienne niezainicjalizowane istnieją pewne wartości śmieci, powoduje, że program trudny do debugowania.

Wskaźniki C ++ Wskaźniki C ++