1.定义在函数内部的变量就是本地变量
函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作:本地变量
本地变量=局部变量=自动变量(之所以这么叫是因为:它的生存期是自动的)。
写在函数表里的参数也是本地变量。
生存期:什么时候这个变量开始出现了,到什么时候它消亡了。
作用域:在(代码的)什么范围内可以访问这个变量(这个变量可以起作用)。
对于本地变量,这两个问题的答案是统一的:大括号内—我们把大括号称作’块’。
本地变量使用规则:
1.它是定义在块内的(包括函数块,语句块,甚至随便拉一对大括号来定义变量)
2.程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了
3.块外面定义的变量在里面依然有效,块里面定义的变量在外面无效
4.块里面定义了和外面同名的变量则掩盖了外面的
5.不能在一个块内定义同名的变量
6.本地变量不会被默认初始化
2.定义在函数外面的变量是全局变量
全局变量具有全局的生存期和作用域: 1.它们与任何函数都无关。
2.在任何函数内部都可以使用它们。
全局变量使用规则:
1.没有做初始化的全局变量会得到0值---指针会得到NULL值
2.只能用编译时刻已知的值来初始化全局变量---不能用其他全局变量来对全局变量赋值
(程序严格按照顺序执行)
3.它们的初始化发生在main函数之前
4.如果函数内部存在与全局变量同名的变量,则全