title: If pointers can dynamically change the size of arrays at run time, why is it necessary to initialize the array with a size?
body: <p>For instance:</p>
  
  <pre><code>int* pArray;
  pArray = new array[];
  </code></pre>
  
  <p>instead of:</p>
  
  <pre><code>int* pArray;
  pArray = new array[someNumber];
  </code></pre>
  
  <p>Since pointers are able to dynamically change the size of an array at run time, and the name of the pointer points to the first element of an array, shouldn't the default size be <code>[1]</code>? Does anyone know what's happening behind the scene?</p>