美文网首页
变量作用域

变量作用域

作者: qianranow | 来源:发表于2018-04-28 09:43 被阅读79次

0. 全局变量


  • 形式:定义在 函数, 代码块, 函数形参列表 的变量
  • 特点:如果 没有 进行初始化, 那么系统默认会将全局变量初始化为 0
  • 位置:存储在 静态区 中,随着程序的 启动 而创建,随着程序的 结束结束
  • 分类
    1. 外部全局变量
       (1) 概念:可以 被其它文件 访问 的全局变量, 默认情况下所有的全局变量都是外部全局变量
       (2) 特点:可以定义多个同名的外部全局变量, 且多个同名的外部全局变量指向同一块存储空间
       (3) 作用域:从 定义的那一行 开始, 直到 程序结束
       (4) extern:用于声明一个外部全局变量
    
    2. 内部全局变量
       (1) 概念:只能被当前文件访问的全局变量, 只要给全局变量加上 static 关键字就是内部全局变量
       (2) 特点:可以定义多个同名的内部全局变量;
                多个同名的内部全局变量如果不在同一个文件中, 那么指向不同的存储空间
       (3) 作用域:从 定义的那一行 开始, 直到 文件末尾
    

1. 局部变量


  • 形式:定义在 函数, 代码块, 函数形参列表 的变量
  • 特点:如果 没有 进行初始化, 那么局部变量中是一些 随机 的值
  • 位置:存储在 中, 当作用域结束系统会 自动释放 栈中的局部变量
    int main() {
      int num = 10;
      { 
        int num = 66;
        printf("num = %i\n", num);
      }
      return 0;
    }
    
  • static 修饰局部变量
    1. 位置:存储在 静态区 中
    2. 作用域:从 定义的那一行 开始,直到程序结束
    
    void test(void);
    int main() {
      int num = 10;
      printf("&num = %p\n", &num);
      test();
      test();
      return 0;
    }
    void test() {
      static int value = 100;
      printf("&value = %p\n", &value);
    }
    

相关文章

  • 第四章 作用域和内存问题

    变量的作用域? 变量作用:起作用域:区域,范围变量起作用的地方 变量的生命周期,变量生于这个作用域,死于这个作用域...

  • JS作用域链

    作用域 变量的作用域 变量的作用域有两种:全局变量和局部变量。 全局作用域: 最外层函数定义的变量拥有全局作用域,...

  • 变量作用域

    变量作用域:静态作用域、动态作用域JS变量作用域:JS使用静态作用域JS没有块级作用域(全局作用域、函数作用域等)...

  • 【前端】-023-JavaScript-进阶篇-变量作用域

    变量作用域 JavaScript中变量的作用域 采用静态作用域(变量定义的位置决定了变量的引用) 没有块级作用域,...

  • php基础知识回顾-1

    1.变量作用域 php变量有四种作用域:局部作用域、全局作用域,静态作用域、参数作用域 在局部调用全局变量需要使用...

  • js中作用域与作用域链

    js中作用域与作用域链 作用域 *作用域基本概念 作用域一般指变量的作用范围,变量分为全局变量和局部变量,对应的作...

  • 作用域与变量提升

    作用域与变量提升 作用域 JS中变量的作用域有全局作用域和局部作用域两种,作用域简单来讲就是变量与函数的可访问范围...

  • 关于作用域链

    作用域 先来谈谈变量的作用域变量的作用域无非就是两种:全局变量和局部变量。全局作用域:最外层函数定义的变量拥有全局...

  • JavaScript关于作用域、作用域链和闭包的理解

    作用域 先来谈谈变量的作用域变量的作用域无非就是两种:全局变量和局部变量。全局作用域:最外层函数定义的变量拥有全局...

  • JavaScript 中的变量作用域

    JavaScript 中的变量作用域 JavaScript中的变量作用域被定义为函数作用域。 变量的值在定义该变量...

网友评论

      本文标题:变量作用域

      本文链接:https://www.haomeiwen.com/subject/qwvwlftx.html