C语言笔记4--变量作用域
总论:
C语言的强大功能之一是可以灵活地定义数据的存储方式。
C语言从两个方面控制变量的性质:作用域(scope)和生存期(lifetime)。
作用域是指可以存取变量的代码范围,生存期是指可以存取变量的时间范围。
一、作用域规则
名字的作用域指的是程序中可以使用该名字的部分。
1、自动变量作用域
对于在函数开头声明的自动变量来说,其作用域是声明该变量名的函数。
不同函数中声明的具有相同名字的各个局部变量之间没有任何关系。
函数的参数也是这样的,实际上可以将它看作是局部变量。
2、外部变量作用域
外部变量或函数的作用域从声明它的地方开始,到其所在文件的末尾结束。
注:如果要在外部变量的定义之前使用该变量,或者外部变量的定义与变量的使用不在同一个文件夹中,则必须在相应的变量声明中强制地使用关键字extern。