GeeksforGeeks

NULL Pointer:
De gehele constante nul(0) heeft verschillende betekenissen, afhankelijk van hoe het gebruikt wordt. In alle gevallen is het een integer constante met de waarde 0, het wordt alleen op verschillende manieren beschreven.
Als een pointer wordt vergeleken met 0, dan is dit een controle om te zien of de pointer een null pointer is. Deze 0 wordt dan een null pointer constante genoemd. De C standaard definieert dat 0 typecast naar (void *) zowel een null pointer als een null pointer constant is.
De macro NULL is te vinden in het header bestand “stddef.h”.

Hieronder staan de manieren om te controleren op een NULL pointer:

  • NULL is gedefinieerd om gelijk aan een null pointer te vergelijken als:
    if(pointer == NULL)
  • Onderstaand if statement controleert impliciet “is niet 0”, dus draaien we dat om naar “is 0” als:
    if(!pointer) 

Null Characters(‘\0’):
‘\0’ is gedefinieerd als een null karakter. Het is een teken waarvan alle bits op nul zijn gezet. Dit heeft niets te maken met pointers.

  1. Het volgende statement controleert of de string pointer naar een null karakter wijst.
    if (!*string_pointer)
  2. Onderstaand statement controleert of de string pointer naar een niet-null karakter wijst.
    if (*string_pointer)

In C taal is string niets anders dan een array van char type. Het slaat elk van de karakters op in een geheugenruimte van 1 byte. Elke array wordt afgesloten met ‘0’ of null karakter, maar als we een ‘0’ in een string opslaan zijn beide niet hetzelfde volgens de C taal. 0′ betekent 48 volgens de ASCII tabel terwijl ‘0’ 0 betekent volgens de ASCII tabel.

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 :

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *