作者:朱金灿
http://blog.youkuaiyun.com/clever101
今天同事遇到一个编译错误:'FILE' : illegal use of this type as an expression。我感到很奇怪:
明明已经包含了stdio.h,怎么FILE结构体不能用呢?
后来上网搜了一下,原来是C语言的不允许随时定义变量,所有定义的变量都只能放在函数开头,
这也是C和C++的重要区别。同事的出错正是在C函数中随机地定义了一个FILE结构体变量(不是放在函数
开头),所以出错了。
本文通过一个实际案例解释了在C语言中正确定义变量位置的重要性。同事在编写C代码时,因在函数体内非头部位置定义了一个FILE结构体变量而遇到了编译错误。文章指出C语言不允许在函数内随意定义变量,所有变量必须定义在函数开头。
7278

被折叠的 条评论
为什么被折叠?



