ポインター比較の規則と例外は?

WBOY
リリース: 2024-06-04 18:01:16
オリジナル
405 人が閲覧しました

C/C++ では、ポインターの比較規則は次のとおりです。同じオブジェクトを指すポインターは等しいです。異なるオブジェクトへのポインターは等しくありません。例外: null アドレスへのポインタが等しい。

ポインター比較の規則と例外は?

ポインター比較の規則と例外

C/C++ プログラミングでは、ポインターは他の変数のアドレスを格納できる特別な変数です。ポインター比較のルールを理解することは、ポインターの使用を習得するために重要です。

ルール:

  • 同じオブジェクトを指す 2 つのポインターは true (等しい) と比較されます。
  • 異なるオブジェクトを指す 2 つのポインターの比較は false (等しくありません) です。

例外:

  • 両方のポインターが空または null アドレスを指している場合、比較は true です。

実際の例:

次の C プログラムは、ポインター比較の規則と例外を示します:

#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;
}
ログイン後にコピー

出力:

🎜

以上がポインター比較の規則と例外は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!