title: Setting least significant bit of a pointer to 0
body: <p>I have a <code>size_t *</code> variable of which I want to set the least significant bit to 0. Since it starts at 1, I tried the following approach.</p>
  
  <pre><code>size_t * next_chunk = stack_mem.start;
  int n = (int)next_chunk;
  n ^= 1 &lt;&lt; 1;
  next_chunk = (size_t)n;
  </code></pre>
  
  <p>This is probably horribly wrong.</p>