局部程序块是指一对大括号({})之间的一段C语言程序。一个C函数包含一对大括号,这对大括号之间的所有内容都包含在一个局部程序块中。if语句和swich语句也可以包含一对大括号,每对大括号之间的代码也属于一个局部程序块。
此外,你完全可以创建你自己的局部程序块,而不使用C函数或基本的C语句。
下面是一个使用局部程序块的例子:
- #include <stdio.h>
- void main()
- {
- /* Begin local block for function main() */
- int test_var = 10;
- printf("Test variable before the if statement: %d\n", test_var);
- if (test_var>5)
- {
- /* Begin local block for "if" statement */
- int test_var = 5;
- printf("Test variable within the if statement: %d\n",test_var);
- {
- /* Begin independent local block (not tied to
- any function or keyword) */
- int test_var = 0;
- printf ("Test variable within the independent local block: %d\n",test_var);
- }
- }
- /* End independent local block */
- printf ("Test variable after the if statement: %d\n", test_var);
- }
- /*End local block for function main () */
上例产生如下输出结果:
注意:在这个例子中,每次test_var被定义时,它都要优先于前面所定义的test_var变量。此外还要注意,当if语句的局部程序块结束时,程序重新进入最初定义的test_var变量的作用范围,此时test_var的值为10。