Yep, the stack space has to be allocated all at once in the beginning of the scope. I'm very surprised that Visual C still does that though, almost all other C compilers allow you to have C++ style declarations of variables.