title: Pointer Arithmetic on structs
body: <p>I was studying some <strong>C</strong> code, when i came across following snippet:  </p>
  
  <pre><code>struct example *example_clone(struct example *ex)
  {  
      struct example *new_ex;  
      new_ex = ex + 1;    // How does this works ?    
      ....  
      new_ex = some_func(...);  //makes new_ex as struct example
      ....  
  }  
  </code></pre>
  
  <p>Now considering <code>new_ex = ex + 1;</code><br>
  Is new_ex just after the <code>ex</code> in memory ?<br>
  What if some other object exist after <code>ex</code> in memory. Is it replaced ?</p>