关于c语言中规定变量必须先定义后使用的问题

如题所述

第1个回答  2022-12-14

并未要求一次性将所有的变量声明或者定义,只要求在使用某个变量之前先定义。变量的定义风格利弊如下:

1、变量在函数开头定义:便于修改。

2、变量就近定义:便于阅读。

3、变量在块语句的开头定义:有的临时变量放在语句块开头,可以不用在函数开头定义,并且在使用完毕后释放空间,可以这么做,但不要无故添加花括号来提高代码的结构。

一般的,为了要达到最大的兼容跨平台性,还是放在函数开头定义。因为C89规定,在任何执行语句之前,在块的开头声明所有局部变量。

如以下代码:

会报错信息:error C2065: 'salary' : undeclared identifier。

在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。

扩展资料:

c语言变量定义和保存格式的关系:

1、源文件保存为.c格式的话变量只能定义在最前,若保存为.cpp格式的话,变量定义较为灵活,不用在最前。

2、在C语言里,变量只能在函数的开头处声明和定义。在函数里要用到的变量必须要在开头处声明定义。声明定义的前面不能有任何其他非声明定义的语句。全局变量在函数体的外部声明定义。

而C++里(.CPP文件是按C++标准编译的),只要在用到变量前对该变量进行声明定义就行了,位置不做特别要求。而C语言的就定了在一个模块里(函数、循环体等)先声明一切所需变量后才能进行相关操作的规定。

参考资料:

百度百科--C语言