C语言中的三种形式变量

嵌入式技术

1330人已加入

描述

任何一门语言中,作用域是程序中定义的变量所存在区域,只能访问该区域中的变量。在C编程语言中有三处可以声明变量:

在函数或块内部的局部变量

在所有函数外部的全局变量

形式参数的函数参数定义中

下面来分别看看这三种形式的变量。

局部变量

顾名思义,局部变量是在一个函数、代码块内部声明的变量,只能被该函数或者代码块内部应用。局部变量在函数之外不可用。下面是使用局部变量的实例。在这里,所有的变量 a、b 和 c 是 main() 函数的局部变量。

C语言

全局变量

全局变量通常是定义在程序的前面,在程序运行周期内都有效,在所有的函数中都可以访问它。也就是说,全局变量被声明后,在整个程序中都可用。

演示下使用全局变量和局部变量的实例:

C语言

程序中的局部变量和全局变量名称相同是被允许的,而在函数内,局部变量的值会覆盖全局变量的值,实例如下:

C语言

当上面的代码被编译和执行时,它会产生下列结果:

value of g = 10

形式参数

函数的形式参数被当作这个函数内的局部变量,会覆盖全局变量。有实例如下:

C语言

当上面的代码被编译和执行时,它会产生下列结果:

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

拥有良好的编程习惯就需要正确地初始化变量。否则程序可能会产生意想不到的结果。未初始化的变量可能会造成一些在内存中的垃圾值。

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分