static 及 extern

本文详细解释了static与extern关键字在C/C++中的作用,包括它们如何影响局部变量和全局变量的生命周期、可见范围以及如何使用这些关键字来修饰函数。

1.static 与 extern 对局部变量的作用

 static 和extern 都是用来修饰变量(局部的static 实际也是全局的)
    static 修饰的变量 只有你的包含那个变量定义的源代码文件可以访问(内部的变量)
    extern定义的变量的哪个源文件都可以访问 只要声明了就可以(外部变量)

 

2.static 与 extern 对局部变量的作用

static 

1) 延长局部变量的生命周期,从程序启动到程序退出,但是它并没有改变变量的作用域
    
2)定义变量的代码在整个程序运行期间仅仅会执行一次
 
    
extern
        
        1)不能修饰局部变量

 

3.static 与 extern 对全局变量的作用

static 对全局变量的作用
            1)static修饰的全局变量,表示该全局变量只能在当前文件中使用,而不能再其他文件中使用
            2)在不同的文件中,使用static可以声明同名变量
 
exter 对全局变量的作用
            1)extern修饰的全局变量,表示可以在当前文件中使用也可以在其他文件使用
            2)extern声明的全局变量在不同的文件中不能同名,两个文件需有包含关系
 
            3)如果在.h文件中没有声明 可以在代码上 extern in a;//声明一下
            4)全局的声明时 可以省略extern
            5)不能用extern 声明不存在的变量
            6)全局变量默认初始化为0

  

4.static 预 extern修饰函数

static 和 extern 对函数的作用
 
     static 修饰的函数,是一个内部函数(只能在定义的那个文件中使用);
        
     函数默认是extern修饰的,extern修饰的函数,可以在调用之前在声明

  

转载于:https://www.cnblogs.com/developer-wang/p/4499393.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值