
正文
c语言中的变量可以先引用再定义,c语言中变量先定义后使用
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于c语言中规定变量必须先定义后使用的问题
因为c语言是静态类型语言,变量在编译期要做类型检查,所以要预先定义。相对的,动态类型语言则可以允许(也可以不允许)不定义直接使用,此时变量的类型是在运行时被推导的。
解释:A. C语言必须先定义变量而后使用,如果未定义直接使用编译无法通过的,会说变量未定义。B. C语言是大小写敏感的,故此APH和aph是不同的。C. 赋值语句的含义就是这样的。D. 实型变量也可以输入整型数据的。
规定“所有用到的变量要先定义后使用”,编译器处理起来比较方便,不会有歧义。因为 C++ 里面,相同名字的变量在【不同的作用域】里面,是可以重复声明的。注:每一对{}就是一个作用域。
相关问答
Q1: c语言为什么规定变量先定义后使用这样做有什么好处?
1、规定“所有用到的变量要先定义后使用”,编译器处理起来比较方便,不会有歧义。因为 C++ 里面,相同名字的变量在【不同的作用域】里面,是可以重复声明的。注:每一对{}就是一个作用域。
2、这是由c语言的定位决定的,C语言主要用于系统底层,因此处于安全的考虑,c语言被设计为强类型的语言,即作出了很多强制性的规定,比如先定义后使用,编译时就必须确定所有变量的类型。
3、主要目的是为了让编译器首先知道该定义变量的类型,可以事先为该变量安排存储空间,不致于最后编译失败,也有利于内存的利用和程序的效率。
4、我觉得主要是因为C语言中变量是要占据内存空间的,如果随便定义使用在管理上不方便,而且可能会造成变量的烂使用,导致一些不必要的错误。
5、变量的使用需遵循:先定义后使用的原则。这样做的好处:1 对于编译器处理更方便。2 不容易出错。3 程序更清晰。
6、变量是一段有名字的连续存储空间。在源代码中通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。这样体现了合理的先后顺序。
Q2: C语言中的变量可以在使用之前任何位置进行定义吗?
局部变量可以定义在任何位置。之前的第二个例子中的定义方式,在这种编译器下是合法的。甚至部分支持C99全面的编译器,支持 for(int a=0; a100; a++)在for中定义变量。
变量可以在函数的任何位置定义,其作用域为定义的那一行到最后 必须保证在使用变量之前对变量进行过定义。
C语言的语法规定:局部变量声明必须在函数的最开头处。不是任何位置。
定义变量的位置没有限定,主要是看你要实现的功能什么时候需要用到以及作用域的范围。后面这个for循环的定义的确是C语言不允许,C++和java都是可以的。
在任何执行语句之前,在块的开头声明所有局部变量。如以下代码:会报错信息:error C2065: salary : undeclared identifier。在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。
Q3: C语言为什么要规定对所用到的变量要“先定义,后使用”。这样做有什么...
我觉得主要是因为C语言中变量是要占据内存空间的,如果随便定义使用在管理上不方便,而且可能会造成变量的烂使用,导致一些不必要的错误。
可以识别出变量名的手打错误。比如定义了var_name, 在调用的时候如果写作了var_nane, 如果没规定要先定义后使用,那么var_nane就会被当做一个新的变量使用,只到运行时才会发生错误。
主要目的是为了让编译器首先知道该定义变量的类型,可以事先为该变量安排存储空间,不致于最后编译失败,也有利于内存的利用和程序的效率。
c语言中的变量可以先引用再定义的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言中变量先定义后使用、c语言中的变量可以先引用再定义的信息别忘了在本站进行查找喔。






