title: pointer offset doesnt work in memset?
body: <p>Plain C, on Windows 7 &amp; HP machine.</p>
  
  <pre><code>int main(void) {
  
      unsigned int a =  4294967295;
      unsigned int *b = &amp;a;
  
      printf("before val: '%u'\n", *b); // expect 4294967295, got 4294967295
  
      memset(b+2, 0, 1);
  
      printf("after val: '%u'\n", *b);
      // little endian          4th      3rd     2nd       1st
      // expect 4278255615 - 11111111 00000000 11111111 11111111
      // got    4294967295 - 11111111 11111111 11111111 11111111
  
      return 0;
  
  }
  </code></pre>
  
  <p>I want to set the third byte of the integer to 0x0, but is remains the same. Any ideas? Thank you.</p>
  
  <p>On my machine, int is 32 bits.</p>