不常用关键字总结

volatile:一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。

register:不保存在内存上,而是直接存储在CPU中的寄存器中,这种变量称为寄存器变量。常用于循环变量等频繁使用的变量。

inline:内联函数,以空间换时间。用于频繁大量大用的函数。
例如:static inline void myprint(int n);
在IOS中也有这样为减少函数频繁调用而生的方法,依赖runtime来实现。
例如:

void (*setter)(id, SEL, BOOL);
setter = (void (*)(id, SEL, BOOL))[target methodForSelector:@selector(setFilled:)];
for ( int i = 0 ; i < 1000 ; i++ )
    setter(targetList[i], @selector(setFilled:), YES);

union:变量互斥使用,大小取最宽的变量。
例如:两个变量共享统一存储空间。

union var{  
        long int l;  
        int i;  
};  

auto :自动变量,由编译器自动分配及释放。通常在栈上分配。不用写上默认就是这个。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,420评论 11 349
  • 注:这是第三遍读《C语言深度解剖》,想想好像自从大学开始就没读完过几本书,其中谭浩强的那本《C语言程序设计(第四版...
    HavenXie阅读 1,823评论 1 6
  • 原文地址:C语言函数调用栈(一)C语言函数调用栈(二) 0 引言 程序的执行过程可看作连续的函数调用。当一个函数执...
    小猪啊呜阅读 4,770评论 1 19
  • 文|公子小花 薛暖暖心动了! 对她的同桌,那种感觉怪怪的,像是吃了放着几十颗泡椒还飘着红的麻辣烫,火热至上而下蔓延...
    梨花公子羽阅读 402评论 0 0
  • 忙时缠身难自镜,闲时花下对影读。 文火清粥便正好,只盼有君常在侧。 青瓷着我梦,花意无所非 韵起还冷暖,赏梅于春中...
    Dialing阅读 241评论 0 1