局部变量

C语言提供了局部变量的定义,局部变量也称为:内部变量。局部变量就是定义在大括号{ }包含的代码块内,例如:

if(){ }

if(){ }else{ }

for(){ }

while() { }

do { } while();

switch(){ }

还有函数的定义,例如:

void func(void){ }

在大括号{}包含的代码块内定义的变量,称为:局部变量。程序测试例子如下例如:

 

程序运行结果如下:

 

可以看到,在main函数中定义的变量a和变量b,都是局部变量。在func函数中定义的变量a和变量c都是局部变量。

局部变量的作用域和生命周期就是在它们所定义的代码块内。所以,总结如下:

(1) main函数中定义的局部变量a、b的作用域就在main函数内,生命周期也就在main函数中。

(2) func函数中定义的局部变量a、c的作用域就在func函数内,生命周期也就在func函数内;

(3) main函数和func函数定义的局部变量,可以变量名一样,但是,它们是不同的对象。

对于局部变量的作用域,比较好理解,只要离开了定义局部变量的代码块,那么,局部变量就无法使用,因为超越了作用域。那么,对于局部变量的生命周期,可以参考下面测试例子。程序测试例子如下:

 

程序的运行结果如下:

 

可以看到,调用func(9)函数的时候,在func函数中定义了局部变量a,然后,累积局部变量a的值为9。接着,调用func(10)函数的时候,进入func函数,此时,重新定义局部变量a,然后,累积局部变量a的值为10。

那么,在调用func(9)函数的时候,定义了局部变量a,此时,当func(9)函数调用完成,离开func函数代码块的时候,局部变量a就销毁。此时,局部变量a的生命周期结束。

所以,当接着调用func(10)函数的时候,进入func函数,此时,重新定义局部变量a,与调用func(9)函数时创建的局部变量a没有任何关系。

因为,当离开定义局部变量所在的代码块时,局部变量就销毁,结束其生命周期。所以,我们可以总结:

(1) 局部变量的作用域,就在定义该局部变量的代码块内;

(2) 局部变量的生命周期,就在定义该局部变量的代码块内;

所以,局部变量离开定义它的代码块时,局部变量声明周期结束,变量被销毁,无法再继续使用。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦凯峰Linux编程学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值