NULL w C ++

NULL w C ++
Zerowy wskaźnik wskazuje na nic. Domyślna stała null ma wartość 0. Podobnie do tego, w jaki sposób ciągami C ++, znak 0 jest używany do kończenia ciągów. NULL jest kolejną możliwą wartością dla wskaźnika i chyba, że ​​procesor nie obsługuje określonego wzoru bitów dla wskaźników zerowych, ma to samo znaczenie jak zero. Coś nie ma wartości, gdy jest oznaczone null specjalnym markerem SQL lub nazywany null. Często używane jako separator, terminator lub wypełniacz to znak ASCII o wartości zerowej znany jako „null” lub „nul”. Ten symbol nie ma widocznej reprezentacji. Wskaźnik obiektu (lub odniesienie), który nie jest obecnie ustawiony na wskazówkę na obiekt, jest znany jako wskaźnik zerowy lub odniesienie. Może być również napisane jako żadne, zerowe lub zerowe.

Dlaczego używamy Null?

Używanie wskaźników zerowych jest dozwolone w następujących okolicznościach:

Zainicjuj wskaźniki i ilustruj sytuacje podobne do końca dowolnej listy długości. Opisz każdy błąd z zwróconym wskaźnikiem z funkcji.

Składnia
W C ++ stosunkowo łatwo jest nadać zmiennej wartości zerowej; Musimy to zrobić tylko raz, podczas inicjalizacji. Ta zmienna jest następnie obsługiwana, aby działać jako wskaźnik zerowy.

Ponieważ zdajemy sobie sprawę, że wskaźnik zawiera adres pamięci, możemy użyć NULL w tej sytuacji, aby wskaźnik był punktem inną wartością. Musimy jednak użyć tego podczas uruchamiania wskaźnika. W tym artykule zbadano różne przykłady korzystania z null w programach C ++.

Przykład nr. 1

W tym przykładzie tworzone są trzy osobne wskaźniki i wszystkie wskazują na null. W rezultacie widzimy, że kiedy zadeklarowaliśmy zmienne, wartość zmiennej została zainicjowana. Następnie wykonujemy jedną kontrolę, aby ustalić i wydrukować wartość wskaźnika. Jeśli oświadczenie okaże się dokładne, instrukcja wydruku będzie działać; Jeśli nie, powróci.

Jeśli wskaźnik w C ++ nie uzyskuje dostępu do żadnych adresów pamięci, nie ma dostępu do NULL. Użyjemy technik zerowych, aby nadać im wartości.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
int *ptr_1 = null;
int *ptr_2 = null;
int *ptr_3 = null;
Jeśli(!ptr_1)
Cout << "Value of the pointer " << ptr_1 ;

powrót 0;

W tym przykładzie najpierw dołączamy bibliotekę, a następnie używamy standardowej przestrzeni nazw. Nazwimy to w funkcji Main (). Następny wiersz zawiera deklarację trzech wskaźników i przypisaliśmy im wartość „null”. Następnie używamy warunku „jeśli”. Jeśli wymagany warunek jest spełniony, instrukcja „Cout” drukuje wartość pierwszego wskaźnika.

Przykład nr. 2

W tej ilustracji użyjemy funkcji null C ++, aby zademonstrować, jak zainicjować wskaźnik z wartością zerową, po prostu konkretną wartość, którą możemy przypisać podczas inicjalizacji.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
Cout<<"Use of null functions";
Cout<<"\n";
int *p_1 = null;
int *p_2 = null;
int *p_3 = null;
Cout << "The calculated value of the first pointer: " << p_1 ;
Cout<<"\n";
Cout << "The calculated value of the second pointer: " << p_2 ;
Cout<<"\n";
Cout << "The calculated value of the third pointer: " << p_3 ;
powrót 0;

Zintegrowaliśmy plik nagłówka . Następnie kodujemy w treści funkcji main (). W obrębie ciała funkcji main (). Zainicjujemy trzy wskaźniki i ustawiamy te wskaźniki na „Null”. Korzystając z instrukcji „Cout”, drukujemy wartości wskaźników (P_1, P_2 i P_3). Ostatecznie wprowadzimy „Return0”.

Przykład nr. 3

Używanie wskaźnika zerowego w celu wygenerowania warunkowego instrukcji w programie i wykazania, w jaki sposób zmieniają wartość podczas inicjalizacji w tym przypadku.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
int v_1 = 45;
int v_2 = 38;
int v_3 = 23;
Cout<<"Use of null functions:";
Cout<<"\n";
int *pt1 = null;
int *pt2 = null;
int *pt3 = null;
Cout<<"The values of variables before using null function:";
Cout<<"\n";
Cout << "The value of first variable before using null function:" << pt1 ;
Cout<<"\n";
Cout << "The value of second variable before using null function:" << pt2 ;
Cout<<"\n";
Cout << "The value of third variable before using null function:" << pt3 ;
Cout<<"\n";
Jeśli(!PT1)
PT1 = &v_1;
Cout << "The value of first variable after initialization: " << pt1 ;
Cout<<"\n";

Jeśli(!PT2)
PT2 = &v_2;
Cout << "The value of second variable after initialization: " << pt2 ;
Cout<<"\n";

Jeśli(!PT3)
PT3 = &v_3;
Cout << "The value of third variable after initialization: " << pt3 ;
Cout<<"\n";

powrót 0;

Po włączeniu funkcji biblioteki i standardowej wywołamy funkcję Main (). Następnie zainicjujemy trzy zmienne o nazwie V_1, V_2 i V_3. Następnie generujemy instrukcję warunkową w tym kodzie, zainicjujemy wartości wskaźników i przypisujemy wartość „null” do każdego wskaźnika. Używamy warunku „jeśli”. Najpierw wyświetlamy wartość wskaźników przed użyciem funkcji zerowej. Następnie otrzymujemy wartości wskaźnika po inicjowaniu za pomocą instrukcji „Cout”.

Przykład nr. 4

Użyj NULL, jeśli nie możesz zapewnić miejsca docelowego dla wskaźnika. Aplikacje używające wskaźników są chronione przed wypadkami i wyciekami pamięci według wartości zerowej. Wskaźnik w C i C ++ odnosi się do przechowywania adresu pamięci. Zawsze przypisz wskaźnik null do zmiennej wskaźnika, jeśli nie masz pewności co do dokładnej lokalizacji do przypisania. Dzieje się tak, gdy zadeklarowana jest zmienna. Wskaźniki o wartości null są uważane za zerowe wskaźniki.

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int *p = null;
Cout << "The value of pointer is " << p ;
powrót 0;

Uwzględnimy bibliotekę na początku kodu. Tutaj zadeklarujemy wskaźnik i przypisamy go wartością „zerową”. Przed wejściem do polecenia „Return 0” zastosowano instrukcję „Cout”, aby pokazać wartość wskaźnika.

Przykład nr. 5

Każda zmienna reprezentuje lokalizację pamięci, a każda lokalizacja pamięci ma unikalny adres, do którego można uzyskać dostęp za pomocą operatora Ampersand (&), który oznacza adres pamięci. Zastanów się nad następującymi, które wydrukuje deklarowane adresy zmiennych:

#włączać
za pomocą przestrzeni nazw Std;
int main ()

int v1;
Char V2 [42];
Cout << "The address of first required variable: ";
Cout << &v1 << endl;
Cout << "The address of second required variable: ";
Cout << &v2 << endl;
powrót 0;

Na początku kodu dołączymy wymaganą bibliotekę. Tutaj zainicjujemy zmienną „V1” o typach danych liczb całkowitych. Kolejna zmienna, „V2”, zostanie zainicjowana z typem danych znaków. I ta zmienna jest deklarowana jako tablica. Chcemy wydrukować adres obu tych zmiennych, więc skorzystamy z instrukcji „Cout”. Adres zostanie uzyskany z pomocą operatora „&”.

Wniosek

Po przeczytaniu tego artykułu widzimy, jak używać funkcji zerowych do przypisywania wartości do zmiennych. Podczas programowania wartości zerowe są niezbędne do zapobiegania nieoczekiwanym awarie. Dlatego gdy wskaźnik nie odnosi się do żadnych adresów pamięci, funkcje zerowe lub przypisania zerowe do wskaźnika są używane do zapewnienia wartości domyślnej.