title: C : malloc seems to allocate more then i'm requesting (array)
body: <p>Hi I have this question:
  Why when I'm allocating memory with malloc for a float array, it allocate more space that i'm requesting?
  For example in this code i'm trying to allocate a ten "cells" float array, but if I try to access to other cells it returns me no segfault error:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;string.h&gt;
  
  float *fk_array;
  
  int main(int argc, char** argv){
  
  
      fk_array = (float *) malloc(10 * sizeof(float));
      int i;
      fk_array[9] = 2.23;
      fk_array[15] = 0.3;
      for(i = 0; i&lt;20 ; i++)
          printf("%f\n",fk_array[i]);
      free(fk_array);
  
      return 1;
  }
  </code></pre>
  
  <p>It returns me :</p>
  
  <pre><code>0.000000
  0.000000
  0.000000
  0.000000
  0.000000
  0.000000
  0.000000
  0.000000
  0.000000
  2.230000
  0.000000
  0.000000
  0.000000
  0.000000
  0.000000
  0.300000
  0.000000
  0.000000
  0.000000
  0.000000
  </code></pre>
  
  <p>Where I'm in wrong??</p>