上一篇 | 下一篇

第六章 预处理命令

发布: 2008-6-26 21:15 | 作者: admin | 来源: | 查看: 2次

6.宏定义不是C语句,不必在行末加分号。由于是简单置换,如果加了分号则会连分号一起进行置换。如:

#define PI 3.1415926;

s=PI*r*r;

经过宏展开后,该语句为

s=3.1415926;*r*r;

显然会出现语法错误。

由上所述可以看出,宏定义是用宏名来代替宏体的,它只做简单的替换,而不做正确性检查,使用宏定义时要特别注意这一点。另外使用宏名来代替字符串,可以减少程序中重复书写字符串的工作量,减少书写错误的发生,同时也便于修改,真正达到一处修改处处修改的目的。

6.2.2 带参数的宏定义

带参数的宏定义不仅进行简单的字符串替换,还要进行参数替换,其格式如下:

[8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33]

字号: | 推荐给好友

评分:0

我来说两句