title: c realloc, what does size really mean
body: <p>Could someone explain what second parameter in realloc really is as I cant find a way to test it.</p>
  
  <p>So suppose that we have something like this</p>
  
  <pre><code>int *p = malloc(sizeof(int)); //we have just enough space to store single int value
  </code></pre>
  
  <p>now if I want to store 2 int values in p do I need to send to realloc as second parameter  <code>2 * sizeof(int)</code> new size of the block or <code>sizeof(int)</code> as it needs to extend memory for size of int</p>
  
  <p>In case I should send to realloc total value of new block in this case <code>2 * sizeof(int)</code>, what will it do in case I send it just <code>sizeof(int)</code>, just return original pointer and do nothing within memory or something else?</p>