GeeksforGeeks

NULL-Zeiger:
Die Integer-Konstante Null(0) hat je nach ihrer Verwendung unterschiedliche Bedeutungen. In allen Fällen handelt es sich um eine Integer-Konstante mit dem Wert 0, sie wird nur unterschiedlich beschrieben.
Wenn ein Zeiger mit 0 verglichen wird, dann wird geprüft, ob es sich um einen Null-Zeiger handelt. Diese 0 wird dann als Nullzeigerkonstante bezeichnet. Der C-Standard legt fest, dass 0 (void *) sowohl ein Null-Zeiger als auch eine Null-Zeiger-Konstante ist.
Das Makro NULL ist in der Header-Datei „stddef.h“ enthalten.

Nachfolgend sind die Möglichkeiten, auf einen NULL-Zeiger zu prüfen:

  • NULL ist definiert, um gleich mit einem Null-Zeiger zu vergleichen als:
    if(pointer == NULL)
  • Untenstehende if-Anweisung prüft implizit „ist nicht 0“, also kehren wir das um, um „ist 0“ zu meinen:
    if(!pointer) 

Null-Zeichen(‚\0‘):
‚\0‘ ist definiert als ein Nullzeichen. Es ist ein Zeichen, bei dem alle Bits auf Null gesetzt sind. Dies hat nichts mit Zeigern zu tun. ‚\0‘ ist (wie alle Zeichenliterale) eine Integer-Konstante mit dem Wert Null.

  1. Die folgende Anweisung prüft, ob der String-Zeiger auf ein Nullzeichen zeigt.
    if (!*string_pointer)
  2. Nachfolgende Anweisung prüft, ob der String-Zeiger auf ein Nicht-Null-Zeichen zeigt.
    if (*string_pointer)

In der Sprache C ist String nichts anderes als ein Array vom Typ char. Es speichert jedes der Zeichen in einem Speicherbereich von 1 Byte. Jedes Array wird mit ‚0‘ oder einem Null-Zeichen abgeschlossen, aber wenn wir eine ‚0‘ in einer Zeichenkette speichern, sind beide Zeichen in der Sprache C nicht gleich. Die ‚0‘ bedeutet nach der ASCII-Tabelle 48, während ‚\0‘ nach der ASCII-Tabelle 0 bedeutet.

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 :

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.