`
webdev2014
  • 浏览: 675434 次
文章分类
社区版块
存档分类
最新评论

Object C语法中const、extern和static的含义

 
阅读更多

1、首先const修饰符的含义

关于const的讲解,网上有一篇文章介绍的非常好,http://blog.chinaunix.net/uid-29033331-id-3842523.html,感谢这篇博主的总结分享。如果不想看,其实很简单的总结一下就是常量修饰符,根据修饰变量时位置不同,分为修饰的变量值不可变、指针不可变、指针和值都不可变三种情况。

2、extern

extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。其实简单理解就是全局变量。

用法:在Config.h申明文件中定义一个变量,如,int xCodeVersion = 0;

如果其他文件想要修改或者访问这个变量,首先import一下Config.h,然后通过这样的代码extern int xCodeVersion;这是在告诉编译器,我申明的这个变量在其他文件中,你去帮我到其他文件找,如果找不到当你使用这个变量时会报错,所以确定变量名一致。现在xCodeVersion这个变量就是你在Config.h中申明的变量,从而达到全局的结果。

3、static

在ObjectC中,在变量声明前加上关键字static,只会初始化一次是它的特性。一般用在方法中,统计方法的执行次数,定义一个static修饰的变量比较好。

举例看一下,一举例,立马清楚:

-(void) test{
    static int temp = 0;
    temp += 1;
    NSLog(@"result %d",temp);
}

上面一段代码执行结果是什么,很简单,当然是1,那如果两次调用这个这个方法,第二次的打印结果是什么,结果是2,就像前面说的初始化一次就是这个意思。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics