好库网首页 | 我的好库
好库网 好库网社区
IT社区 » C/C++ » C语言论坛 » 什么是局部程序块(local block)?
回复 发帖

查看:957    回复:0 什么是局部程序块(local block)?
访问vchelp的空间
发表于 2012/6/10 14:53:00
1楼

局部程序块是指一对大括号({})之间的一段C语言程序。一个C函数包含一对大括号,这对大括号之间的所有内容都包含在一个局部程序块中。if语句和swich语句也可以包含一对大括号,每对大括号之间的代码也属于一个局部程序块。此外,你完全可以创建你自己的局部程序块,而不使用C函数或基本的C语句。你可以在局部程序块中说明一些变量,这种变量被称为局部变量,它们只能在局部程序块的开始部分说明,并且只在说明它的局部程序块中有效。如果局部变量与局部程序块以外的变量重名,则前者优先于后者。下面是一个使用局部程序块的例子: 

 

#include <stdio.h> 

void main(void); 

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); 

  2

/*End local block for function main () * / 

 

上例产生如下输出结果: 

 

Test variable before the if statement: 10 

Test variable within the if statement: 5 

Test variable within the independent local block:0 

Test variable after the if statement: 10 

 

注意,在这个例子中,每次test_var被定义时,它都要优先于前面所定义的test_var变量。

此外还要注意,当if语句的局部程序块结束时,程序重新进入最初定义的test_var变量的作用范围,此时test_var的值为10。

您需要登录后才可以回帖 登录 | 注册
回复 发帖