变量作用域

在日常生活中,我们出行时都会使用到“公交卡”,搭乘公交车的时候,刷卡扣钱就可以乘车。假设你是在深圳办理的公交卡,可以在深圳搭乘公交车;但是,如果你去北京游玩了,那么,你在深圳办理的公交卡在北京的公交车上就无法使用。

此时,我们就引出一个“作用域”的概念,就是说,我们在深圳办理的公交卡,可以在深圳使用,到了北京,就无法使用。就是“跨地域”的问题,导致公交卡无法正常使用。所以,这就是“作用域”的限制。

同样,在C语言中定义的变量,也有“作用域”的限制。程序测试例子如下:

 

程序运行结果如下:

 

可以看到,我们在if条件语句内定义了变量b,而且可以输出变量b的内容。那么,我们再对程序进行修改,在if语句后面,使用变量b,程序测试例子如下:

 

编译结果如下:

 

可以看到,编译程序错误,提示在main函数的第二次printf函数中,引用的变量b没有定义。但是,我们已经在if条件语句内,定义了变量b,而且在if条件语句内可以使用,为何在条件语句if外面不可以使用?

此时,我们就引出了C语言变量的“作用域”概念。在C语言中,使用大括号{ }包含的代码块,就是一段代码模块,那么,在一段代码模块中定义的变量,它只能够在该代码模块中使用,在代码模块外面,就无法使用代码模块内定义的变量了。在代码模块中定义的变量,它们的作用域就只有在代码块内。

所以,在上面的例子中,if条件语句后面接着大括号{ }包含的一段代码块,那么,在大括号{ }代码块中定义的变量b只能够在该代码块中使用,变量b的作用域就是在if条件语句后面的大括号{}代码块内。出了代码块外面,就无法使用变量b。

那么,此时我们提到了大括号{}包含的一段代码,称为:代码块。在C语言中,有很多语句都可以定义代码块,例如:

if(){ }

if(){ }else{ }

for(){ }

while() { }

do { } while();

switch(){ }

还有函数的定义,例如:

void func(void){ }

可以看到,这些语句中,使用大括号{}包含了一段代码块,那么,在代码块中定义的变量,它的作用域就只有在代码块内。我们经常遇到函数的定义,那么,在函数内定义的变量,它的作用域就只有在函数内。

所以,本章节,我们学习了代码块的定义,使用大括号可以定义一段代码块。在代码块内定义的变量,称为:局部变量,局部变量的作用域,就只局限在定义它的代码块内。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

韦凯峰Linux编程学堂

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

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

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

打赏作者

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

抵扣说明:

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

余额充值