auto、static、extern修饰符(C语言)

auto修饰符:
局部变量默认用auto修饰;且auto只能修饰 函数内的局部变量

static修饰符:

static可以修饰全局变量,也可以修饰局部变量

修饰全局变量时:如果这个全局变量要被其他.c文件用extern调用的话,则会出错,调用不了。

                             所以全局变量被static修饰的话,全局变量的作用范围只会局限在声明它的本.c

                              文件中,而不能被其他.c文件用extern调用。

static修饰全局变量: 

在test1.c的全局变量te前加static修饰:

test.c文件用extern调用test1.c文件的 全局变量int.te  :

出现错误:无法解析外部符号 te: 

static修饰局部变量:

                        使局部变量的作用范围不再局限于函数体内,而是可以穿梭在各个函数体内而不被再次初始化。

rute函数里面声明定义了两个static变量:People和count

在Add函数内用不同的形参调用了三次rute函数:

 (仔细看哦,看看你细不细心哈哈哈哈哈)

运行结果:

因为rute函数被调用了三次(形参分别是3、5、4),所以最后People==3 ,最后count==3+5+4

(你的小脑瓜运算的是和上面一样的吗,如何是一样的,那恭喜你,你已经大致理解了static修饰局部变量的用法!!!)

继续看:

那么,当我们把count的static修饰符去掉:如下,其他不变

 

 

 运行结果:(这估计是上一个程序很多人想错的结果对象哈哈哈哈哈)

 extern之前简洁地写过extern地用法,适合初学者,点击这个链接吧

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值