引入:
本人在练习题目的时候,经常会出现如下的error报告:
[Error] 'a' undeclared (first use in this function)
导致我要对每个函数和循环来回检查,看到底哪个变量的生存期弄错了。
究其本质是对变量生存期的理解有失偏颇,故今天特此写篇文章来认真回顾(学习)此部分的内容
介绍:
以下笔记均来源MOOC
本地变量:
函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称为本地变量。
定义在函数内部的变量就是本地变量,参数也是本地变量。
变量的生存期和作用域:
生存期:什么时候这个变量出现了,到什么时候它消亡了。
作用域:在代码的什么范围内可以访问到这个变量。
对于本地变量,这两个问题的答案是统一的:大括号内——块。
本地变量的规则:
本地变量是定义在块内的,它可以是定义在函数的块内,也可以定义在语句的块内,,甚至可以随便拉一对大括号来定义变量。
程序运行在进入这个块前,其中的变量不存在,离开这个块,其中的变量就消失了。块外面定义的变量在里面任然有效,块里面定义了和外面同名的变量则掩盖了外面的
不能在一个块内定义同名的变量。
本地