- 2
- 0
- 约1.85千字
- 约 12页
- 2017-04-21 发布于上海
- 举报
第九章 预处理命令;9.1 宏定义;2. 说明:
(1)不带参的宏常用来定义符号常量。
(2)同一宏名可被重复定义,以最后的定义为准。
(3)宏定义时,可引用已定义的宏名,层层置换。
(4)宏展开时,只做简单的宏替换,不做任何语法检查或运算。
(5)双引号内的宏名不被置换。
(6)宏名的有效范围是从定义开始到文件结束,可用命令“#undef 标识符”来终止作用域。
(7)一个命令只定义一个宏。;9.1.2 带参的宏定义
1. 形式:#define 宏名(参数表) 包含参数的字符串
例 若有宏定义:#define s(a,b) a*b
且使用该宏:area=s(3,2);
则预编译后,宏展开为:area=3*2;
2. 宏如何展开
#define s(a,b) a*b
area=s(3,2);;例 #define PI 3.14
#define s(r) PI*r*r
main( )
{float a=3.6, area;
area=s(a); /*area=3.14*3.6*3
原创力文档

文档评论(0)