19.8.9(全局变量和局部变量的作用域)

Posted tsruixi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了19.8.9(全局变量和局部变量的作用域)相关的知识,希望对你有一定的参考价值。

1.首先在函数内部声明的就是局部变量,只能够在函数内部或者代码块内使用。
2.全局变量,在所有函数的外部定义的变量,通常是在程序的头部定义,全局变量是在程序的整个生命周期内都是有效的。可以被任何函数访问,这点很重要,也就是说一旦声明就可以在整个程序中使用。
3.局部变量和全局变量名称可以相同,但是局部变量是可以覆盖全局变量的值。例如下面:

#include <iostream>
using namespace std;
 
// 全局变量声明
int g = 20;
 
int main ()

  // 局部变量声明
  int g = 10;
 
  cout << g;
 
  return 0;


输出:10

4.初始化全局变量和局部变量的关系,局部变量在定义是,系统不会对其初始化,你必须自己对其初始化,定义全局变量是,系统会自动初始化为下面值:
如果是局部变量是有定义static,是会初始化为0,如果没有定义静态局部变量的话,系统是不会初始化的。

数据类型 初始化默认值
int 0
char ‘\0‘
float 0
double 0
pointer NULL
5.最后一个要提的就是最近遇见的一个,在C++for循环中,我们在初始化时,可以自己定义变量,但是要知道这个是局部变量,是只能够在这个for循环里面有效的,如定义for(int i;i<n;i++).......,这个i变量只能够在for循环中有效,如果在for循环中调用了其他函数,之前也定义了一个i这个全局变量而其他函数也需要使用i这个变量,这时这个for中定义i的值,是不能够在其他函数中有效的,其他函数会一直调用全局变量i的那个值。

以上是关于19.8.9(全局变量和局部变量的作用域)的主要内容,如果未能解决你的问题,请参考以下文章

python局部变量和全局变量作用域--021

静态变量,全局变量,局部变量的区别

Python入门-5函数:04变量的作用域-全局变量-局部变量-栈帧内存分析-效率测试

Python3作用域(局部变量全局变量)

PHP-作用域相关

44.作用域,局部和全局变量