c语言变量的初始化是什么意思(c语言变量的定义位置以及初始值)
导语:C语言变量的初始值,隐藏很多危险?如何危险?
变量的初始值局部变量如果没初始化,那么,变量的值是创建变量,申请内存空间的时候,内存空间存放的数据。所以,局部变量得到的数据是一个随机值。就是变量空间中,存放的原始内存数据。
全局变量如果没有初始化,那么,变量的值默认设置为0值。程序测试例子如下:
程序运行结果如下:
可以看到,局部变量a、b没有初始化,那么,输出该变量的值,是变量申请内存空间时,内存空间中存放的随机值。全局变量x、y没有初始化,但是,它们的值都默认初始化为0值。
注意,在测试的过程中发现:(1) 在XP环境下,使用VC 6.0编译上面的例子,输出局部变量b的值是随机数。(2) 在ubuntu系统下,使用gcc编译,输出局部变量b的值是0。但是,局部变量a无论是XP VC6.0环境还是ubuntu gcc编译系统下,其初始值都是随机数。
所以,针对这个特性,我们在定义变量的时候,应该养成良好的习惯,任何变量定义的时候就进行初始化。当我们学习到指针变量,使用指针变量的时候,更应该对指针进行初始化,这是良好的编程习惯。
对于静态变量,无论是静态局部变量还是静态全局变量,它们的初始值都默认为0。程序测试例子如下:
程序运行结果如下:
可以看到,静态变量,它们的初始值都默认为0值。所以,对于静态变量,编译器给静态变量设置0初始值。
8 总结我们编写一个软件,就如同搭建一栋房子。房子由各种支架和砖头组成,那么,我们编写软件的时候,变量就如同各种砖头, if-else、while等语句,就如同各种支架。
所以,通过变量和if-else等语句,就可以构建一个软件系统。可见,变量是构建一个软件系统基础中的基础。非常重要。
我们需要深入理解各种变量类型的生命周期和作用域。那么,我们才可以清楚地把握存放在变量中的数据,什么时候有效,什么时候消失!这样,我们才可以把握整个软件系统的运行周期,保证系统的健壮性。
在后续的课程,我们学习Linux C++编程,C++类对象的构造和析构,就是依赖于对象的生命周期,所以,这个变量生命周期的机制,我们需要深入理解和掌握。
建议读者对每一个知识点进行深入地分析,手动敲打代码,调试作者给出的测试例子。有任何问题,可以联系作者,一起探讨Linux C编程。
读者要仔细分析,掌握好每一个知识点,然后,自己总结出对该知识点的理解。自己总结出来的知识,理解才深刻,才是自己掌握的知识。
本文内容由小楠整理编辑!