No, _arg&#x27;s initializer would not work in C89 if any of the arguments was not a constant.<p><pre><code>  void f()
  {
    &#x2F;&#x2F; line below is bad C90, but good C99
    int array[2] = {g(), h()};
  }
</code></pre>
from <a href="http:&#x2F;&#x2F;www.drdobbs.com&#x2F;the-new-c-declarations-initializations&#x2F;184401377" rel="nofollow">http:&#x2F;&#x2F;www.drdobbs.com&#x2F;the-new-c-declarations-initialization...</a>