码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-08-09 17:35:49      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:mes   输出   全局   使用   关系   一个   访问   oat   程序   

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(全局变量和局部变量的作用域)

标签:mes   输出   全局   使用   关系   一个   访问   oat   程序   

原文地址:https://www.cnblogs.com/tsruixi/p/11328363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!