linux ,c/c , web,前端,php,js
(782)
(8)
(28)
(110)
(307)
(329)
分类: 项目管理
2013-03-12 09:28:46
原文地址:c语言编程规范——12 宏 作者:luozhiyong131
12 宏
(1)用宏定义表达式时,要使用完备的括号。示例:如下定义的宏都存在一定的风险。
#define rectangle_area( a, b ) a * b
#define rectangle_area( a, b ) (a * b)
#define rectangle_area( a, b ) (a) * (b)
正确的定义应为:
#define rectangle_area( a, b ) ((a) * (b))
(2)将宏所定义的多条表达式放在大括号中。示例:下面的语句只有宏的第一条表达式被执行。为了说明问题,for语句的书写稍不符规范。
#define inti_rect_value( a, b )\
a = 0;\
b = 0;
for (index = 0; index < rect_total_num; index )
inti_rect_value( rect.a, rect.b );
正确的用法应为:
#define inti_rect_value( a, b )\
{\
a = 0;\
b = 0;\
}
for (index = 0; index < rect_total_num; index )
{
inti_rect_value( rect[index].a, rect[index].b );
}