title: == for pointer comparison
body: <p>I quote from "The C Programming Language" by Kernighan &amp; Ritchie:</p>
  
  <blockquote>
    <p>Any pointer can be meaningfully compared for equality or inequality with zero. But the behavior is undefined for arithmetic or comparisons with pointers that do not point to members of the same array. (There is one exception: the address of the first element past the end of an array can be used in pointer arithmetic.)</p>
  </blockquote>
  
  <p>Does this mean I cannot rely on <code>==</code> for checking equality of different pointers? What are the situations in which this comparison leads to a wrong result?</p>