关于c语言中规定变量必须先定义后使用的问题
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
并未要求一次性将所有的变量声明或者定义,只要求在使用某个变量之前先定义。变量的定义风格利弊如下:
1、变量在函数开头定义:便于修改。
2、变量就近定义:便于阅读。
3、变量在块语句的开头定义:有的临时变量放在语句块开头,可以不用在函数开头定义,并且在使用完毕后释放空间,可以这么做,但不要无故添加花括号来提高代码的结构。
一般的,为了要达到最大的兼容跨平台性,还是放在函数开头定义。因为C89规定,在任何执行语句之前,在块的开头声明所有局部变量。
如以下代码:
会报错信息:error C2065: 'salary' : undeclared identifier。
在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。
扩展资料:
c语言变量定义和保存格式的关系:
1、源文件保存为.c格式的话变量只能定义在最前,若保存为.cpp格式的话,变量定义较为灵活,不用在最前。
2、在C语言里,变量只能在函数的开头处声明和定义。在函数里要用到的变量必须要在开头处声明定义。声明定义的前面不能有任何其他非声明定义的语句。全局变量在函数体的外部声明定义。
而C++里(.CPP文件是按C++标准编译的),只要在用到变量前对该变量进行声明定义就行了,位置不做特别要求。而C语言的就定了在一个模块里(函数、循环体等)先声明一切所需变量后才能进行相关操作的规定。
参考资料: