Heim  >  Artikel  >  Backend-Entwicklung  >  Regeln und Ausnahmen für Zeigervergleiche?

Regeln und Ausnahmen für Zeigervergleiche?

WBOY
WBOYOriginal
2024-06-04 18:01:16375Durchsuche

In C/C++ lauten die Zeigervergleichsregeln wie folgt: Zeiger, die auf dasselbe Objekt zeigen, sind gleich. Zeiger auf verschiedene Objekte sind nicht gleich. Ausnahme: Zeiger auf Nulladressen sind gleich.

Regeln und Ausnahmen für Zeigervergleiche?

Regeln und Ausnahmen für Zeigervergleiche

In der C/C++-Programmierung ist ein Zeiger eine spezielle Variable, die die Adresse anderer Variablen speichern kann. Das Verständnis der Regeln des Zeigervergleichs ist entscheidend für die Beherrschung der Verwendung von Zeigern.

Regel:

  • Zwei Zeiger, die auf dasselbe Objekt zeigen, vergleichen wahr (gleich).
  • Der Vergleich zweier Zeiger, die auf verschiedene Objekte zeigen, ist falsch (nicht gleich).

Ausnahme:

  • Der Vergleich ist wahr, wenn beide Zeiger auf leere oder Nulladressen zeigen.

Praktisches Beispiel:

Das folgende C-Programm demonstriert die Regeln und Ausnahmen des Zeigervergleichs:

#include <stdio.h>

int main() {
  int a = 10;
  int b = 20;
  int *ptr1 = &a;  // ptr1 指向 a
  int *ptr2 = &b;  // ptr2 指向 b
  int *nullPtr = NULL;  // 空指针

  // ptr1 和 ptr2 指向不同的对象
  if (ptr1 == ptr2) {
    printf("ptr1 和 ptr2 指向同一对象。\n");
  } else {
    printf("ptr1 和 ptr2 指向不同的对象。\n");
  }

  // ptr1 和 nullPtr 指向不同的对象
  if (ptr1 == nullPtr) {
    printf("ptr1 和 nullPtr 指向同一对象。\n");
  } else {
    printf("ptr1 和 nullPtr 指向不同的对象。\n");
  }

  // nullPtr 和 nullPtr 指向相同的空对象
  if (nullPtr == nullPtr) {
    printf("nullPtr 和 nullPtr 指向同一对象。\n");
  } else {
    printf("nullPtr 和 nullPtr 指向不同的对象。\n");
  }

  return 0;
}

Ausgabe:

ptr1 和 ptr2 指向不同的对象。
ptr1 和 nullPtr 指向不同的对象。
nullPtr 和 nullPtr 指向同一对象。

Das obige ist der detaillierte Inhalt vonRegeln und Ausnahmen für Zeigervergleiche?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn