zoukankan      html  css  js  c++  java
  • 变量在各各领域的作用域

    #include <stdio.h>
    
    // 作用域: 在哪里能够访问到它
    // 生命周期: 内存和变量存在关联的时间
    
    // 全局变量:定义在任何一个花括号之外的变量就是全局变量
    //    作用域: 全局变量的作用域是定义位置到所在文件结束【在其它文件中使用 extern 可以访问】
    //    生命周期: 整个程序的运行到程序的结束
    int g_number = 0;        // g(global) 是全局变量单词的缩写
    
    // 假设不同的作用域存在重名的变量,使用的会是哪个
    int number = 200;                    // L12 ~ L32
    
    // 静态全局变量: 使用 static 修饰的全局变量
    //    作用域: 全局变量的作用域是定义位置到所在文件结束,【但是其它文件不能访问】
    //    生命周期: 整个程序的运行到程序的结束
    // 使用 extern 引用一个其它文件中已经声明的全局变量时不能初始化
    extern int g_number1;    
    // extern int g_number2;    
    
    void test()
    {
        // 静态局部变量变量: 使用 static 修饰的局部变量
        //    作用域: 和普通的局部变量完全相同
        //    生命周期: 整个程序的运行到程序的结束
        static int n = 0;
    
        // 一个静态的局部变量只会在第一次被初始化,之后使
        //    用的都是之前保留的值
        printf("n = %d
    ", n++);
        // 0 1 2 3 4 5
    }
    
    int main(void)
    {
        // g_number1 = g_number2 = 10;
    
        // 输出的是全局变量的 number,因为这个时候只看得到它
        printf("number = %d
    ", number);
    
        // 局部变量: 定义在任何一个花括号中的变量就是局部变量
        //    作用域: 局部变量的作用域是定义位置到所在花括号结束
        //    生命周期: 进入花括号到离开所在花括号
        int number = 0;                    // L19 ~ L31
    
        // 输出的是局部变量 number 的值,在这个时候,存在大小两
        //    个作用域,且存在同名变量,一旦遇到这种情况,实际使用
        //    的就是小作用域的变量。
        printf("number = %d
    ", number);
    
        {
            int number = 0;                // L12 ~ L13
            printf("number = %d
    ", number);
        }
    
        for (int i = 0; i < 10; ++i)    // L15 ~ L18
        {
            int number = 0;                // L17 ~ L18
        }
    
        // C 语言中的 const 常量,使用 const 定义的值必
        //    须初始化,且在程序的运行过程中不能被修改
        const int n = 10;
    
        return 0;
    }
  • 相关阅读:
    css flex布局应用
    Java 中 List、HashTable、HashMap、TreeMap
    Java 面向对象的三大特征
    Java-冒泡排序算法
    单例模式- 实现方式
    Mac
    Appium DesiredCapabilities 参数设置
    Mac- appium 环境配置
    PHP安装+使用
    mac 安装protobuf,并编译
  • 原文地址:https://www.cnblogs.com/lianfeng132/p/12358664.html
Copyright © 2011-2022 走看看