由花括号括起来的整体作为一个块,块中的变量都具有块作用域,仅仅在块中可见。函数的形式参量虽然在左花括号之前,但仍具有块作用域,块作用域的可见范围是从定义出开始到块。
声明在内层块的变量,其作用域仅仅局限于该声明所在的块。
double blocky(double cleo)
{
double patrick=0.0;
int i;
for(i = 0; i < 10; i++)
{
double q = cleo * i;//q 作用域开始
...
patrick *= q;
} //q 作用域结束
return patrick;
}
而定义在函数外的变量则具有文件作用域,在整个文件中即可访问,被称为全局变量,从定义处到文件末尾均可访问。
#include <stdio.h>
int units = 0;
void critic(void);
int main(void)
{
...
}
void critic(void)
{
...
}
此时 变量units具有文件作用域,main()和critic()都可以使用。