如何在C / C ++中比较指针?
如果指针指向同一个数组,我们可以进行比较。关系指针可用于比较两个指针。指针不能相乘或相除。
在C中
示例
#include <stdio.h>
int main() {
int *p2;
int *p1;
p2 = (int *)300;
p1 = (int *)200;
if(p1 > p2) {
printf("P1 is greater than p2");
} else {
printf("P2 is greater than p1");
}
return(0);
}输出结果
P2 is greater than p1
在C++中
示例
#include <iostream>
using namespace std;
int main() {
int *p2;
int *p1;
p2 = (int *)300;
p1 = (int *)200;
if(p1>p2) {
cout<<"P1 is greater than p2";
} else {
cout<<"P2 is greater than p1";
}
return(0);
}输出结果
P2 is greater than p1
有关指针比较的一些要点-
如果两个相同类型的指针p1和p2指向相同的对象或函数,或者都指向一个结束于p1<=p2和p1>=p2的指针,则p1<=p2和p1>=p2都生成true,而p1<p2和p1>p2都生成false。相同的数组,或者都为null。
如果两个相同类型的指针p1和p2指向不同对象,而这些对象不是同一对象或同一数组的元素,或者指向同一数组,则未指定p1<p2,p1>p2,p1<=p2和p1>=p2不同的函数,或者如果其中只有一个为null。
如果两个指针指向具有相同访问控制的同一对象的非静态数据成员,或此类对象的子对象或数组元素,则将指定结果。
如果两个指针指向具有不同访问控制的同一对象的非静态数据成员,则结果不确定。
热门推荐
10 圣诞祝福语简短小学
11 祖国七十华诞简短祝福语
12 老师送的祝福语简短
13 生日祝福语大全女生简短
14 祝女性生日祝福语简短
15 牛年女神节祝福语简短
16 情人表白祝福语简短大气
17 老公开业祝福语简短
18 官宣新年祝福语简短