命名冲突和static修饰符

  两个具有相同名称的外部对象实际代表的是同一个对象(即使用户并非本意)
 
  static修饰符是一个能够减少此类命名冲突的工具,例如:
  static int a;其含义与int a;相同,只不过a的作用于被限制在一个源文件内,而对于其他源文件,a是不可见的,如若干个函数需要共享一组外部对象,可以将这些函数放到一个源文件中,把他们需要用到的对象也都放在一个源文件中以static修饰,当然,static也运用于函数,如果函数f需要调用另一个函数g,而且只有函数f需要调用函数g,我们可以把函数f和函数g都放在一个源文件中,并且声明g为static函数
 
  static int g(int x)
  {
 /*函数体*/
  }
 
  void f()
  {
 /*其他内容*/
 b=g(a);
  }
  我们还可以在多个源文件中定义同名的函数g,只要所有的函数都被定义为static,或者仅仅只有其中一个函数g不为static,同此,为了避免可能出现的命名冲突。如果函数仅仅被同一个源文件中的其他函数调用,就声明为static 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值