变量生命周期

在讲解“变量作用域”的时候,我们举例了“公交卡”的问题。那么,我们在深圳办理的公交卡,在北京无法使用,是由于“作用域”的问题。但是,当我们从北京回到深圳之后,又可以继续使用公交卡了。相当于公交卡又复活可以继续使用了。

但是,公交卡有一个有效期,如同身份证有效期一样,如果过了有效期,那么,这张公交卡就无法再使用了。此时,我们引出“生命周期”的问题,

在C语言中定义的变量有自己的“生命周期”,当结束了生命周期之后,该变量就无法再使用了,当变量的生命周期结束了,变量就被销毁,变量无法再继续使用。

下面举个例子说明变量的声明周期,程序测试例子如下:

变量生命周期

 

程序编译结果如下:

变量生命周期

 

可以看到,变量b在if条件语句的代码块内定义,那么,它的声明周期就是在该代码块内。当程序结束if条件语句代码块的运行之后,变量b的生命周期结束,也就销毁了该变量,那么,在if条件语句代码块外面,就无法再使用变量b了。

所以,在一段代码块内定义的变量,当程序退出代码块,结束代码块的运行时。在代码块中定义的变量,也就结束声明周期了(变量被销毁)。所以,变量无法再继续使用。

变量生命周期结束的时候,就是变量被销毁了,所以,变量无法再继续使用。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip