title: Why is this array notation illegal in C?
body: <p>If this is possible:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;process.h&gt;
  
  #define SIZE 5
  
  void PassingArray(int arr[])
  {
      int i=0;
      for(i=0 ; i&lt;SIZE ; i++)
      {
          printf("%d, ", arr[i]);
      }
      printf("\n");
  }
  
  main()
  {
      int myIntArray[5] = {1, 2, 3, 4, 5};
  
      PassingArray(myIntArray);
  
      system("PAUSE");
  }
  </code></pre>
  
  <p>Then why the following is illegal?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;process.h&gt;
  
  #define SIZE 5
  
  int ReturningArray()[]
  {
      int myIntArray[5] = {1, 2, 3, 4, 5};
  
      return myIntArray;
  }
  
  main()
  {
      int myArray[] = ReturningArray();
  
      system("PAUSE");
  }
  </code></pre>