C 编程中函数的作用域规则是什么?
局部作用域
局部作用域指这样一种情形,在块内定义的变量,只在该块内可见,在块外不可见。
全局作用域
全局作用域指这样一种情形,在块外定义的变量,直到程序结束都可见。
举例
#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(){
printf ("before swapping a=%d, b=%d", a,b);
swap ();
printf ("after swapping a=%d, b=%d", a,b);
}
swap (){
int c;
c=a;
a=b;
b=c;
}输出
Before swapping a = 10, b =20 After swapping a = 20, b = 10
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP