范围规则与以下因素有关-
变量的可访问性。
变量存在的时间段。
变量使用的边界。
与语句块相关的范围规则如下:
块用大括号括起来,大括号由一组语句组成。
在块中声明的变量可在该块内访问和使用,并且在该块外不存在。
以下是与语句块相关的范围规则 的C程序-
#include<stdio.h> main ( ){ { int i = 1; printf (“%d”,i); } { int j=2; printf(“%d”,j); } }输出结果
输出说明如下-
1 2
即使在各自的块中以相同的名称重新声明了变量,也将它们视为不同的变量。
这是另一个与语句块相关的作用域规则的C程序-
#include<stdio.h> main ( ){ { int i = 1; printf (“%d”,i); } { int i =2; printf (“%d”,i); } }输出结果
输出说明如下-
1 2
在执行内部块时,在与外部块中名称相同的块中重新声明变量将掩盖外部块变量。
这是另一个与语句块相关的作用域规则的C程序-
#include<stdio.h> main ( ){ int i = 1;{ int i = 2; printf (“%d”,i); } }输出结果
输出说明如下-
2
嵌套块可以访问在内部块外部声明的变量,前提是未在内部块内部声明这些变量。
考虑另一个程序来处理与语句块相关的作用域规则-
#include<stdio.h> main ( ){ int i = 1;{ int j = 2; printf (“%d”,j); printf (“%d”,i); } }输出结果
输出说明如下-
2 1