title: Alternative (K&R) C syntax for function declaration versus prototypes
body: <p>What is useful about this <code>C</code> syntax — using 'K&amp;R' style function declarations?</p>
  
  <pre><code>int func (p, p2)
      void* p;
      int  p2;
  {
      return 0;
  }
  </code></pre>
  
  <p>I was able to write this in Visual Studios 2010beta</p>
  
  <pre><code>// yes, the arguments are flipped
  void f()
  {
      void* v = 0;
      func(5, v);
  }
  </code></pre>
  
  <p>I don't understand. What's the point of this syntax? I can write:</p>
  
  <pre><code>int func (p, p2)
      int  p2;
  {
      return 0;
  }
  // and write
  int func (p, p2)
  {
      return 0;
  }
  </code></pre>
  
  <p>The only thing it seems to specify is how many parameters it uses and the return type. I guess parameters without types is kind of cool, but why allow it and the <code>int paranName</code> after the function declarator? It's weird.</p>
  
  <p>Also is this still standard C?</p>