title: How does c++ think when accessing a function with arrays?
body: <p>Im confused as to how c++ reads the following, im not understanding how it access the function and how it outputs 4 3 2 1 0;</p>
  
  <pre><code>int q1 (int x[], int &amp;y, int z){ 
      for (int i = z; i &gt;= 0; i--){ 
          x[i] = y++;   
  
      } 
      z += 1; 
      return z - 2;    
  
  } 
  
  int main (void) {
  
  int b = 0, c = 4, d; 
  int a[5] = {0}; 
  d = q1(a, b, c); 
  
  for (int i = 0; i &lt;= c; i++){ 
      cout &lt;&lt;  a[i] &lt;&lt; " "; 
  } 
  cout &lt;&lt; endl; 
  </code></pre>