两个指针比较

时间:2013-05-04 15:17:12

标签: pointers comparison

pf1==pf2    pf1 and pf2 point to the same array element

pf1>pf2     pf1 is the higher address location

pf1<pf2     pf2 is the lower  address location

我想知道第三句应该是:pf2 is the higher address location

1 个答案:

答案 0 :(得分:0)

第三个陈述应该是:

  • pf2是较高的地址位置
  • pf1是地址较低的位置

这些陈述在此上下文中是等效的。引用的原始报价没有弄清楚它想要做出的两个正确陈述中的哪一个,并且最终将它们组合起来是错误的。

在存储器寻址方案(例如8086上的分段寻址)下,segment:offset有两个不同的值可以实际引用相同的地址(因为段重叠)。根据在比较之前指针值是否(或如何)被规范化,您可能有pf1 < pf2但指针仍然引用相同的地址。然而,这是足够深奥的,你不可能在实践中遇到这样的问题。