vs2005中,写c程序,所有的局部变量都要放在函数体的最前面吗,为什么?

来源:百度知道 编辑:UC知道 时间:2024/05/14 17:47:45

VC2005对C的支持还处于C89阶段,C99中引入了很多C++的特性,比如inline函数和on-the-fly declaration,所谓variables on the fly就是可在任意位置声明变量的特性,也称JIT(just in time) declaration,就是和C++ 一样,可以在for,while, 等语句和任意大括号内的任意位置声明或定义并初始化变量,如:

for(int i = 0; i < 10; ++i)
....



if(...)
{
int x = 5;
...
}

等。

至于所有变量都必须在函数顶端声明那是C89的规定,相对于C99来说已经荒废了。

其实随着C的不断发展C的很多部分都已经和C++重叠了,以至于你用C++来编写一个过程式的程序拿到支持C99的编译器上也能跑,如果你想学习标准C,即最新的C99,不妨试试我上面说的方法。

PS: VC2005对C++的支持倒是蛮新的,ISO/IEC 14882:2003(E) C++ 2003。