嵌入式技术
任何一门语言中,作用域是程序中定义的变量所存在区域,只能访问该区域中的变量。在C编程语言中有三处可以声明变量:
在函数或块内部的局部变量
在所有函数外部的全局变量
在形式参数的函数参数定义中
下面来分别看看这三种形式的变量。
局部变量
顾名思义,局部变量是在一个函数、代码块内部声明的变量,只能被该函数或者代码块内部应用。局部变量在函数之外不可用。下面是使用局部变量的实例。在这里,所有的变量 a、b 和 c 是 main() 函数的局部变量。
全局变量
全局变量通常是定义在程序的前面,在程序运行周期内都有效,在所有的函数中都可以访问它。也就是说,全局变量被声明后,在整个程序中都可用。
演示下使用全局变量和局部变量的实例:
程序中的局部变量和全局变量名称相同是被允许的,而在函数内,局部变量的值会覆盖全局变量的值,实例如下:
当上面的代码被编译和执行时,它会产生下列结果:
value of g = 10
形式参数
函数的形式参数被当作这个函数内的局部变量,会覆盖全局变量。有实例如下:
当上面的代码被编译和执行时,它会产生下列结果:
value of a in main() = 10
value of a in sum() = 10
value of b in sum() = 20
value of c in main() = 30
局部变量和全局变量的初始化
当局部变量定义后,系统不会将它初始化,要程序员自行对它进行初始化。而当定义了全局变量时,系统会自动对其初始化,初始化后的默认值如下:
数据类型 | 初始化默认值 |
---|---|
int | 0 |
char | '�' |
float | 0 |
double | 0 |
pointer | NULL |
拥有良好的编程习惯就需要正确地初始化变量。否则程序可能会产生意想不到的结果。未初始化的变量可能会造成一些在内存中的垃圾值。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !