指针比较 < C和C++中的指针支持比较运算符( >代码>代码> > P,是的,它们可以比较。 例如,在“进一步的信息标准”中,请参见“关系运算符”,C99中的“5.5.8”,C++的旧草案(5.9到2006年11月)中的“./P>>P>”,比较相邻的数组

指针比较 < C和C++中的指针支持比较运算符( >代码>代码> > P,是的,它们可以比较。 例如,在“进一步的信息标准”中,请参见“关系运算符”,C99中的“5.5.8”,C++的旧草案(5.9到2006年11月)中的“./P>>P>”,比较相邻的数组,c++,c,pointers,C++,C,Pointers,指针比较 < C和C++中的指针支持比较运算符( >代码>代码> > P,是的,它们可以比较。 例如,在“进一步的信息标准”中,请参见“关系运算符”,C99中的“5.5.8”,C++的旧草案(5.9到2006年11月)中的“./P>>P>”,比较相邻的数组(比较内存偏移量(指针))。如果将数组实现为链表(例如)节点可以在内存中,所以指针比较是无意义的。注意到,比较指针不指向同一个数组的行为是未定义的。注意,在C++中,操作程序()std::less、std::less_equal、std::gr

指针比较
< C和C++中的指针支持比较运算符(<代码> >代码>代码> > P,是的,它们可以比较。

例如,在“进一步的信息标准”中,请参见“关系运算符”,C99中的“5.5.8”,C++的旧草案(5.9到2006年11月)中的“./P>>P>”,比较相邻的数组(比较内存偏移量(指针))。如果将数组实现为链表(例如)节点可以在内存中,所以指针比较是无意义的。

注意到,比较指针不指向同一个数组的行为是未定义的。注意,在C++中,操作程序()std::less、std::less_equal、std::greater和std::greater_equal能够有意义地比较指向不同对象的指针。@avakar:从技术上讲,行为并不是未定义的(比较的结果必须是bool,实现不应该随机崩溃或任何事情);比较的结果是未指定的-即,它可能是真的或假的,并且实现不必记录结果是什么。Charles,我检查了,我被纠正了(这是标准中的第5.9节)。谢谢。@CharlesBailey C99 6.5.9.5(最后一句)“在所有其他情况下,行为是未定义的。”注意,指针必须指向在一次分配中分配的相同连续内存块。两个随机指针无法比较。其中包括重复