卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

指针比较的规则和例外?

在c++/c++中,指针比较规则如下:指向同一对象的指针相等。指向不同对象的指针不相等。例外:指向空地址的指针相等。

指针比较的规则和例外?

指针比较的规则和例外

在 C/C++ 编程中,指针是一种可以存储其他变量地址的特殊变量。理解指针比较的规则对于掌握指针的使用至关重要。

规则:

  • 两个指向同一对象的指针相比较为真(相等)。
  • 两个指向不同对象的指针相比较为假(不相等)。

例外:

  • 当两个指针指向 空或 null 地址 时,相比较为真。

实战案例:

以下 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;
}

输出:

ptr1 和 ptr2 指向不同的对象。
ptr1 和 nullPtr 指向不同的对象。
nullPtr 和 nullPtr 指向同一对象。
卓越飞翔博客
上一篇: 智能指针的类型有哪些?
下一篇: C++ 模板在高性能计算中的作用是什么?
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏