使用宏时,用圆括号括住每个参数,并括住宏的整体定义;一般来说,在宏中不要使用自增或自减运算符。
[1]最值
#define MIN(x, y) (((x) < (y)) ? (x) : (y))
求两者间的较小者
#define MAX(x, y) (((x) > (y)) ? (x) : (y))
求两者间的较大者
#define MAX3(x,y,z) MAX(MAX(x,y),z)
求三者间的较大者
[2]移位
#define SHIFT(value, n) (((n) > 0) ? ((value) << (n))
: ((value) >> -(n)))
对value进行移位操作,n > 0左移位,n < 0右移位
[3]字符
#define IS_LOWER_CASE(x) (((x)>='a') && ((x)<='z'))
判断小写
#define IS_UPPER_CASE(x) (((x)>='A') && ((x)<='Z'))
判断大写
#define IS_ALPHABETIC(c) (IS_LOWER_CASE (c)
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!