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

作者:睿晞
身处这个阶段的时候,一定要好好珍惜,这是我们唯一能做的,求学,钻研,为人,处事,交友……无一不是如此。
劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
曾有一个业界大牛说过这样一段话,送给大家:   “华人在计算机视觉领域的研究水平越来越高,这是非常振奋人心的事。我们中国错过了工业革命,错过了电气革命,信息革命也只是跟随状态。但人工智能的革命,我们跟世界上的领先国家是并肩往前跑的。能身处这个时代浪潮之中,做一番伟大的事业,经常激动的夜不能寐。”
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/tsruixi/p/11328363.html