GeeksforGeeks

Wskaźnik NULL:
Stała całkowita zero(0) ma różne znaczenia w zależności od tego, jak jest używana. We wszystkich przypadkach jest to stała całkowita o wartości 0, jest po prostu opisana na różne sposoby.
Jeśli jakikolwiek wskaźnik jest porównywany do 0, to jest to sprawdzenie, czy wskaźnik jest wskaźnikiem zerowym. To 0 jest wtedy określane jako stała wskaźnika zerowego. Standard C definiuje, że 0 jest typecast to (void *) jest zarówno wskaźnikiem zerowym jak i stałą wskaźnika zerowego.
Makro NULL znajduje się w pliku nagłówkowym „stddef.h”.

Poniżej podano sposoby sprawdzania wskaźnika NULL:

  • NULL jest zdefiniowany do porównania równego wskaźnikowi zerowemu jako:
    if(pointer == NULL)
  • Below if statement implicite sprawdza „is not 0”, więc odwracamy to, aby oznaczało „is 0” jako:
    if(!pointer) 

Null Characters(’\0′):
’\0′ jest zdefiniowane jako znak pusty. Jest to znak, którego wszystkie bity są ustawione na zero. Nie ma to nic wspólnego z wskaźnikami. '0′ jest (jak wszystkie literały znakowe) stałą całkowitą o wartości zero.

  1. Poniższa instrukcja sprawdza, czy wskaźnik łańcuchowy wskazuje na znak pusty.
    if (!*string_pointer)
  2. Poniższa instrukcja sprawdza, czy wskaźnik łańcuchowy wskazuje na znak not-null.
    if (*string_pointer)

W języku C łańcuch jest niczym innym jak tablicą typu char. Przechowuje ona każdy ze znaków w przestrzeni pamięci o wielkości 1 bajta. Każda tablica jest zakończona '0′ lub znakiem null, ale jeśli przechowujemy '0′ wewnątrz łańcucha, oba nie są takie same zgodnie z językiem C. '0′ oznacza 48 zgodnie z tabelą ASCII, natomiast '0′ oznacza 0 zgodnie z tabelą ASCII.

Below is the C program to print the value of '\0′ and '0′:

#include <stdio.h>
intmain()
{
printf("\\0 is %d\n", '\0');
printf("0 is %d\n", '0');
return0;
}



Output:

\0 is 00 is 48

Article Tags :

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *