C语言中static 和 extern用法

C语言中每一个变量和函数都有两个属性
1:数据类型
2:存储类别

/*****************/
/****** 变量 *****/
/*****************/

对于存储类别,分为静态存储和动态存储
首先static 修饰的变量存于静态存储区
static 修饰局部变量,则局部变量整个运行期间都存在,且只初始化一次,存在于静态存储区
static 修饰全局变量,则全局变量作用范围只能在本源文件,别的源文件可用此全局变量名定义新的变量

extern 是对全局变量作用范围的扩展
extern 扩展本源文件中的全局变量到本源文件,在文件开头[extern 变量名],则作用范围扩展到整个本源文件  [如在定义全局变量前想用此变量]
extern 扩展本源文件中的全局变量到整个工程文件,哪个文件需要,只要在文件中[extern 变量名]就可以

/*****************/
/****** 函数 *****/
/*****************/

函数本质上是全局的,但是可以指定函数不能被其他源文件调用,根据函数是否能被其他源文件调用,将函数分为内部函数和外部函数
内部函数(静态函数):在定义函数时,在函数名和函数类型前加static即可,此函数只在本源文件有作用,其他源文件可有重名函数
外部函数:在定义函数时,在函数名和函数类型前加extern,则表示此函数是外部函数,可供其他文件调用,在其他文件中要调用此函数,用extern对函数进行声明[extern 函数原型]即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值