摘要: 1)auto 这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。(2)register 这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。(3)static 常见的两种用途: 1>统计函数被调用的次数; 2>减少局部数组建立和赋值的开销.变量的建立和赋值是需要一定的处理器开销的,特别是数组等含有较多元素的存储类型。在一些含有较多的变量并且被经常调用的函数中,可以将一些数组声明为static类型,以... 阅读全文
posted @ 2013-06-17 21:37 Crazy Zidane 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 转自:http://blog.csdn.net/pingnning/article/details/47371291、优先级问题1) 传入变量优先级#define MULTI(a,b)a * bMULTI(1+2,3)=> 1 + 2 * 3其实是想要(1 + 2) * 32) 作为值返回时,类似1)#define ADD(a,b)(a) + (b)int c = ADD(a,b) * 3;=> (a) + (b) * 3其实是想要(a + b) * 3所以,一般的规则是:宏里面参数全部用括号括起来;如果作为值返回,整个表达式也用括号括起来。所以,上面最好这么写:#defineMU 阅读全文
posted @ 2013-06-17 16:12 Crazy Zidane 阅读(475) 评论(0) 推荐(0) 编辑