
作用域规则与以下因素有关 −
- 变量的可访问性。
- 变量的存在期。
- 变量的使用边界。
与语句块相关的作用域规则如下所示 −
语句块由花括号括起来,包含一组语句。
-
在语句块中声明的变量可以在该块中访问和使用,但在块外部不存在。
立即学习“C语言免费学习笔记(深入)”;
示例1
以下是与与语句块相关的作用域规则相关的C程序 −
演示
#include<stdio.h>
main ( ){
{
int i = 1;
printf ("%d",i);
}
{
int j=2;
printf("%d",j);
}
}输出
输出如下 −
1 2
即使变量在各自的代码块中被重新声明并且使用相同的名称,它们被视为不同的。
示例2
下面是另一个关于语句块作用域规则的C程序−
实时演示
#include<stdio.h>
main ( ){
{
int i = 1;
printf ("%d",i);
}
{
int i =2;
printf ("%d",i);
}
}输出
输出如下 −
1 2
在具有与外部块相同名称的块内重新声明变量会掩盖外部块变量,在执行内部块时会发生这种情况。
示例3
这是另一个关于语句块相关的作用域规则的C程序−
实时演示
#include<stdio.h>
main ( ){
int i = 1;{
int i = 2;
printf ("%d",i);
}
}输出
输出如下 −
2
在内部块之外声明的变量可以在嵌套块中访问,前提是这些变量没有在内部块中声明。
示例4
考虑另一个与语句块相关的作用域规则的程序:
演示
#include<stdio.h>
main ( ){
int i = 1;{
int j = 2;
printf ("%d",j);
printf ("%d",i);
}
}输出
输出如下 −
2 1











