(961)
(1)
(61)
(41)
(51)
(235)
(391)
(181)
分类: 项目管理
2012-11-08 16:52:52
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 );
}