首页 > 文章列表 > C编程中的函数作用域规则是什么?

C编程中的函数作用域规则是什么?

函数作用域 规则 C编程
157 2023-08-26

本地作用域

本地作用域指定块内定义的变量仅在该块内可见,在块外不可见。

全局作用域

< p>全局范围指定块外部定义的变量在程序结束之前都是可见的。

示例

#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