程序块
C语言中成对大括号构成的代码叫程序
作用域——变量生效的范围
块作用域
在程序块中声明的名称,只在该程序块中通用,其他区域都无效,这样的作用域块称为块作用域。
块作用域指的是大括号组成的代码块,它形成一个单独的作用域。凡是在块作用域里面声明的变量,只在当前代码块有效,代码块外部不可见。
块作用域一般针对的是局部变量。
使用规则:代码块可以嵌套,内层代码块可以使用外层声明的变量,反之则不行。
局部优先
#include <stdio.h>
int main()
{
int i = 10;
{
int i = 20;
printf("%d\n", i); // 20
}
printf("%d\n", i); // 10
return 0;
}
for循环也是块作用域,循环变量只对循环体内部可见,外部不可见。
文件作用域
文件作用域指的是在函数外部声明的变量(全局变量),从声明的位置到文件结束都有效,即全局变量是具有文件作用域的。甚至全局变量,在其他源文件内部也是可以使用的。