Rumah >pembangunan bahagian belakang >C++ >Peraturan dan pengecualian untuk perbandingan penunjuk?

Peraturan dan pengecualian untuk perbandingan penunjuk?

WBOY
WBOYasal
2024-06-04 18:01:16445semak imbas

Dalam C/C++, peraturan perbandingan penunjuk adalah seperti berikut: penunjuk yang menunjuk ke objek yang sama adalah sama. Penunjuk kepada objek yang berbeza tidak sama. Pengecualian: Penunjuk kepada alamat nol adalah sama.

Peraturan dan pengecualian untuk perbandingan penunjuk?

Peraturan dan Pengecualian untuk Perbandingan Penunjuk

Dalam pengaturcaraan C/C++, penunjuk ialah pembolehubah khas yang boleh menyimpan alamat pembolehubah lain. Memahami peraturan perbandingan penunjuk adalah penting untuk menguasai penggunaan penunjuk.

Peraturan:

  • Dua penunjuk menunjuk ke objek yang sama bandingkan benar (sama).
  • Perbandingan dua penunjuk yang menunjuk kepada objek berbeza adalah palsu (tidak sama).

Pengecualian:

  • Perbandingan adalah benar apabila kedua-dua penunjuk menunjuk kepada alamat kosong atau batal.

Contoh praktikal:

Program C berikut menunjukkan peraturan dan pengecualian perbandingan penunjuk:

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

Output:

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

Atas ialah kandungan terperinci Peraturan dan pengecualian untuk perbandingan penunjuk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn