C语言教程
+ -

C语言 作用域

2019-09-09 2 0

任何编程的作用域是程序的一个区域,定义的变量可以存在于该区域,而超出该变量则不能访问。

  • local 局部变量
  • global 全局变量
  • formal 参数变量

让我们了解什么是 local 和 global 变量以及 formal 参数。

局部变量(Local)

在函数或块内声明的变量称为局部变量,以下示例显示了如何使用局部变量,在这里,所有变量a,b和c都是main()函数的局部变量。

#include <stdio.h>

int main () {

  /* local variable declaration */
  int a, b;
  int c;

  /* actual initialization */
  a=10;
  b=20;
  c=a + b;

  printf ("value of a=%d, b=%d and c=%d\n", a, b, c);

  return 0;
}

全局变量(Global)

可以由任何函数访问。


#include <stdio.h>

/* global variable declaration */
int g;

int main () {

  /* local variable declaration */
  int a, b;

  /* actual initialization */
  a=10;
  b=20;
  g=a + b;

  printf ("value of a=%d, b=%d and g=%d\n", a, b, g);

  return 0;
}

程序的局部变量和全局变量可以具有相同的名称,但是函数内局部变量的值将优先,这是一个示例:


#include <stdio.h>

/* global variable declaration */
int g=20;

int main () {

  /* local variable declaration */
  int g=10;

  printf ("value of g=%d\n",  g);

  return 0;
}

编译并执行上述代码后,将产生以下输出:

value of g=10

参数变量(formal)

形式参数在函数中被视为局部变量,它们优先于全局变量。以下是一个示例:

#include <stdio.h>

/* global variable declaration */
int a=20;

int main () {

  /* local variable declaration in main function */
  int a=10;
  int b=20;
  int c=0;

  printf ("value of a in main()=%d\n",  a);
  c=sum( a, b);
  printf ("value of c in main()=%d\n",  c);

  return 0;
}

/* function to add two integers */
int sum(int a, int b) {

   printf ("value of a in sum()=%d\n",  a);
   printf ("value of b in sum()=%d\n",  b);

   return a + b;
}

编译并执行上述代码后,将产生以下输出:

value of a in main()=10
value of a in sum()=10
value of b in sum()=20
value of c in main()=30

值初始值

定义局部变量后,系统不会对其进行初始化,您必须自己对其进行初始化。如下定义全局变量时,系统将自动初始化全局变量.

数据类型 初始默认值
int 0
char ‘\0’
float 0
double 0
point NULL

0 篇笔记 写笔记

C语言 作用域
任何编程的作用域是程序的一个区域,定义的变量可以存在于该区域,而超出该变量则不能访问。local 局部变量global 全局变量formal 参数变量让我们了解什么是 local 和 global 变量以及 formal 参数。局部变量(Local)在函数或块内声明的变量称为局部变量,以下示例显示了......
Python3 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 ......
C++ 变量作用域
作用域是程序的一个区域,一般来说有三个地方可以定义变量:在函数或一个代码块内部声明的变量,称为局部变量。在函数参数的定义中声明的变量,称为形式参数。在所有函数外部声明的变量,称为全局变量。我们将在后续的章节中学习什么是函数和参数。本章我们先来讲解什么是局部变量和全局变量。局部变量在函数或一个代码块内......
C++ 把引用作为返回值
通过使用引用来替代指针,会使 C++ 程序更容易阅读和维护。C++ 函数可以返回一个引用,方式与返回一个指针类似。当函数返回一个引用时,则返回一个指向返回值的隐式指针。这样,函数就可以放在赋值语句的左边。例如,请看下面这个简单的程序:#include using na......
GO语言 变量作用域
作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。Go 语言中变量可以在三个地方声明:函数内定义的变量称为局部变量函数外定义的变量称为全局变量函数定义中的变量称为形式参数接下来让我们具体了解局部变量、全局变量和形式参数。局部变量在函数体内声明的变量称之为局部变量,它们的作用......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!