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

以上是 C 编程中函数的作用域规则是什么? 的全部内容, 来源链接: utcz.com/z/311384.html

回到顶部