title: Does a va_list have to be the last argument in a function declaration?
body: <p>Seemingly simple question, but haven't been able to find an answer on SO or in the C standard. Question is whether a <code>va_list</code> must be the last parameter to a function in C (presuming, of course, the function takes a <code>va_list</code> as a parameter).</p>
  <p>For example, is this safe?</p>
  <pre><code>int f(int a, char *b, va_list args, char *c);
  </code></pre>
  <p>or does it have to be the following</p>
  <pre><code>int f(int a, char *b, char *c, va_list args);
  </code></pre>