Maison  >  Article  >  développement back-end  >  Règles et exceptions pour les comparaisons de pointeurs ?

Règles et exceptions pour les comparaisons de pointeurs ?

WBOY
WBOYoriginal
2024-06-04 18:01:16423parcourir

En C/C++, les règles de comparaison des pointeurs sont les suivantes : les pointeurs pointant vers le même objet sont égaux. Les pointeurs vers différents objets ne sont pas égaux. Exception : les pointeurs vers des adresses nulles sont égaux.

Règles et exceptions pour les comparaisons de pointeurs ?

Règles et exceptions pour les comparaisons de pointeurs

En programmation C/C++, un pointeur est une variable spéciale qui peut stocker l'adresse d'autres variables. Comprendre les règles de comparaison des pointeurs est crucial pour maîtriser l’utilisation des pointeurs.

Règle :

  • Deux pointeurs pointant vers le même objet se comparent à vrai (égal).
  • La comparaison de deux pointeurs pointant vers des objets différents est fausse (pas égale).

Exception :

  • La comparaison est vraie lorsque les deux pointeurs pointent vers des adresses vides ou nulles.

Exemple pratique :

Le programme C suivant démontre les règles et exceptions de la comparaison de pointeurs :

#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;
}

Sortie :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn