IOS基础---C语言学习之static和extern关键字对函数以及变量的作用

一、static和extern与函数

外部函数:定义的函数能被本文件和其他文件访问
1> 默认情况下所有函数都是外部函数
2> 不允许有同名的外部函数
内部函数:定义的函数只能被文件访问,不能被外部函数访问

允许不同文件中有同名的内部函数
static对函数的作用:
1> 定义一个内部函数
2> 声明一个内部函数
extern对函数的作用:
1> 完整的定义一个外部函数
2> 完整的声明一个外部函数
(extern可以省略,默认情况下所有函数都是外部函数)

 

二、static和extern与变量

全局变量分2种
外部变量:定义的变量能被本文件和其他文件访问
1> 默认情况下,所有全局变量都是外部变量
2> 不同文件中得同名外部变量,都代表着同一个外部变量
内部变量:定义的变量只能被本文件访问,不能被其他文件访问


static对变量的作用:

定义一个内部变量
extern对变量的作用

声明一个外部变量(可以在函数内部,也可以在函数外部声明外部变量)

 

三、static与局部变量

static 修饰局部变量时:
1> 会延长局部变量的生命周期,程序结束的时候,局部变量才会被销毁
2> 并没有改变局部变量的声明周期
3> 类似于java中得static 变量,局部变量所在的函数无论调用多少次,都共享这个变量
使用场合:
1> 某个函数的调用频率很高
2> 函数内的某个变量是固定不变的

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值