zoukankan      html  css  js  c++  java
  • 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的那个值。

    作者:睿晞
    身处这个阶段的时候,一定要好好珍惜,这是我们唯一能做的,求学,钻研,为人,处事,交友……无一不是如此。
    劝君莫惜金缕衣,劝君惜取少年时。花开堪折直须折,莫待无花空折枝。
    曾有一个业界大牛说过这样一段话,送给大家:   “华人在计算机视觉领域的研究水平越来越高,这是非常振奋人心的事。我们中国错过了工业革命,错过了电气革命,信息革命也只是跟随状态。但人工智能的革命,我们跟世界上的领先国家是并肩往前跑的。能身处这个时代浪潮之中,做一番伟大的事业,经常激动的夜不能寐。”
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    hiho #1502:最大子矩阵(元素和不超过k)
    IPC 进程间通信方式——消息队列
    IPC 进程间通信方式——共享内存
    IPC 进程间通信方式——管道
    hiho #1032: 最长回文子串
    TCP超时与重传机制与拥塞避免
    C++关于构造函数 和 析构函数 能否抛出异常的讨论
    基于TCP的客户端、服务器端socket编程
    hiho #1043 : 完全背包
    hiho #1485 : hiho字符串(滑动窗口)
  • 原文地址:https://www.cnblogs.com/tsruixi/p/11328363.html
Copyright © 2011-2022 走看看