title: Boolean comparison of dereferenced int* and int failing in C
body: <p>I'm writing a program in C on Debian Linux x64. In part of the code, I have the following if statement:</p>
  
  <pre><code>if (*all_drops &gt;= (npes * 128)) {
              break;
  }
  </code></pre>
  
  <p><code>all_drops</code> is an <code>int*</code> which has been assigned an <code>int</code>'s worth of memory, while <code>npes</code> is an <code>int</code> with the value 2. Therefore, the if statement should be true when the value in <code>all_drops</code> is at least 256. However, I've had the variable get above 1000 without the if statement evaluating true.</p>
  
  <p>I'm not sure if there's some nuance in comparing dereferenced pointers to other numbers, but I've searched Google and haven't been able to find any similar issues (which leads me to believe I am missing something). Any help you could give would be greatly appreciated.</p>