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

更新于: 09-Mar-2021

430 次浏览

让你的职业生涯腾飞

完成课程获得认证

开始
广告
© . All rights reserved.