
本地作用域
本地作用域指定块内定义的变量仅在该块内可见,在块外不可见。
全局作用域
全局范围指定块外部定义的变量在程序结束之前都是可见的。示例
#include<stdio.h>
int r= 50; /* global area */
main (){
int p = 30;
printf (“p=%d, r=%d” p,r);
fun ();
}
fun (){
printf (“r=%d”,r);
}
输出
p =30, r = 50
r = 50
与函数相关的作用域规则
示例
#include<stdio.h>
main (){
int a=10, b = 20;
printf ("before swapping a=%d, b=%d", a,b);
swap (a,b);
printf ("after swapping a=%d, b=%d", a,b);
}
swap (int a, int b){
int c;
c=a;
a=b;
b=c;
}
输出
Before swapping a=10, b=20
After swapping a = 10, b=20
在函数体外部声明的变量称为全局变量。这些变量可以通过任何函数访问。
示例
#include<stdio.h>
int a=10, b = 20;
main
.........................................................