title: Why does int pointer '++' increment by 4 rather than 1?
body: <p>Value of a pointer is address of a variable. Why value of an <code>int pointer</code> increased by 4-bytes after the int pointer increased by 1.</p>
  
  <p>In my opinion, I think value of pointer(address of variable) only increase by 1-byte after pointer increment.</p>
  
  <p>Test code:</p>
  
  <pre><code>int a = 1, *ptr;
  ptr = &amp;a;
  printf("%p\n", ptr);
  ptr++;
  printf("%p\n", ptr);
  </code></pre>
  
  <p>Expected output:</p>
  
  <pre><code>0xBF8D63B8
  0xBF8D63B9
  </code></pre>
  
  <p>Actually output:</p>
  
  <pre><code>0xBF8D63B8
  0xBF8D63BC
  </code></pre>
  
  <p><strong>EDIT</strong>:</p>
  
  <p>Another question - How to visit the 4 bytes an <code>int</code> occupies one by one?</p>