title: Difference between Static binding and Dynamic binding of Array
body: <p>I've just read through all the search result about the same topic I'm asking right now in stackoverflow and it's not really answer my curiosity.But here's the thing.</p>
  
  <p><b>The Question</b></p>
  
  <p>1.)From what i know , static binding means it's set during compile time and it's there during runtime whereas for dynamic binding means it's set during runtime.</p>
  
  <p>2.)So the book i read introduce about dynamic array , it mentions dynamic array size could be set during runtime.Which is done in this way.</p>
  
  <p><b>The Code </b></p>
  
  <pre><code>int size;
  cin &gt;&gt; size;
  int * pz = new int [size]; // dynamic binding, size set at run time
  delete [] pz; // free memory when finished
  </code></pre>
  
  <p><br />
  3.)In this code the book mention dynamic array size could be set during runtime.So out out curiosity i try this.</p>
  
  <p><b>The Code</b></p>
  
  <pre><code>int size;
  cin &gt;&gt; size;
  int array[size];
  //After the array declaraction i assign value to it to check whether it works or not.
  </code></pre>
  
  <p><br /></p>
  
  <p>4.)The code above works too , so i just curious what so special about dynamic array since normal static array could did the same job.</p>
  
  <p>5.)Is it because of dynamic array could free its memory during runtime whereas static can't that's what makes it so special??</p>
  
  <p><br /></p>
  
  <p><i>Thanks for spending time reading my question , do point out any mistake made by me.</i></p>