定义静态全局变量(static)

承接上文,如果在其他文件已经定义了一个常规外部变量,在当前文件中想继续定义相同变量名的全局变量,该怎么操作?

//file1

int num = 20;     //external declaration

--------------------------------------

//file 2

int num = 10;  //fails

上文违反了单定义规则

解决方法:

在file2文件中定义一个静态外部变量,在该文件中,静态变量将隐藏常规外部变量;

//file2

static int num = 10;   //static 指出num变量的链接性为内部;即静态全局变量,作用域为当前该文件,不再为外部调用;

静态,无链接性定义
作用域为代码块,无链接性,在代码块中声明,使用static关键字。可以理解为局部的全局变量,只初始化一次,每次调用该代码块,不再进行初始化;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值