(2)函数调用过程
在进行函数调用时系统将实参值对应的传给形参,是一种值的单向传递
4. 变量三属性: 类型 作用范围 存储类别
4-1. 类型(定义)
4-2. 作用范围
(1)局部变量(内部变量)
定义: 在一个函数内部定义的变量为局部变量
a. 局部变量只能在他所在的函数内有效
b. 在不同的函数中可以出现同名的变量, 他们分别属于不同的变量
c. 复合语句中定义的变量只能在此复合语句中有效
d. 所有形式参数都是局部变量
(2)全局变量(外部变量)
定义: 在函数外部定义的变量为全局变量
a. 全局变量的有效范围是在本文件内从定义该变量的位置开始到本文件结束
b. 全局变量可以在它的有效范围内被每个函数引用
c. 在同一文件中若全局变量与局部变量同名,局部变量屏蔽全局变量
4-3. 存储类别
(1)auto类别变量
a. auto类别变量用完后释放所占用空间
b. 局部变量默认为auto类别, 无初始化时, 初始值为随机值
c. 使用时间短,一般都为auto类别变量
(2)static类别
a. static类别从定义到程序运行结束均占用存储空间
b. 全局变量默认为static类别, 无初始化时, 初值为0
c. static类别变量只进行一次初始化(变量值画(保护)框, 定义用完就划掉)
(3)register类别变量 寄存器变量
a. register类别只能是局部变量才能被说明
b. 一般不能直接使用
(4)extern类别变量
a. extern类别变量可以加大变量的作用范围
b. 两种说明格式
格式1. 定义同时说明类别:
存储类别 类型名 变量名;
格式2. 分别定义 说明
类型名 变量名;
存储类别 变量名;