今天 我们来说变量的作用域和存储类型
每种事物 都有自己作用的范围限制 例如 汽车只能在路上跑 轮船只能在海洋 飞机只能通行于天空
函数的参数 也只有在函数被调用过程中分配内存资源 函数执行结束 空间也会被立即释放
这也说明了 行参变量只有在函数内才有效 离开了该函数 就不能再使用了
我们将这种变量的作用范围 称为变量的作用域
只有在该范围内定义的变量 才是有意义的
根据作用域不同 C语言的变量可划分为 全局变量和局部变量
局部变量
是在一个函数 或 一个语句块内部定义的变量
它的作用域 只作用于 该函数或代码块中
只有在声明变量的 函数 或 代码块中 才能使用局部变量 不然就会拿不到
使用局部变量 应该注意以下几点
main0)主函数中定义的局部变量,只能在maim0)内起作用,其它函数不能使用。
函数定义的形参属于被调用函数的局部变量,只在所定义的函数中使用,其他函数不能使用。实参则是属于主调函数的局部变量。
不同的函数可以使用相同的局部变量名,它们分配不同的存储空间,代表不同的对象,不会发生冲突。
全局变量
全局变量通常用来在函数之间传递数据,使多个函数共亨同一变量。
全局变量的作用域是从该变量的定义点处到整个文件结束为止。
全局变量可以被本文件中多个函数共用
如果全局变量定义在一个文件的开始处,则在整个文件范围内都可以使用它。
我们在外部定义了 x y 以及 i j
它们都是全局变量 而 b c 是 只能在 F1函数 声明位置后 才能使用的 m n 则是 在 main 声明位置后才能使用的
还有就是 函数只有在声明后 才能使用 就比如 你在 x 还没声明时 就用x 依旧取不到 因为代码是从上至下执行的 必须先声明 再调用