打印

#define的作用

[复制链接]
800|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
engao|  楼主 | 2016-5-14 19:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
命令#define 定义了一个标识符及一个串。 在源程序中每次遇到该标识符时,均以定义的串代换它。ANSI 标准将标识符定义为宏名,将替换过程称为宏替换。命令的一般形式为:
#define identifier string
沙发
zb0830| | 2016-5-14 19:56 | 只看该作者
该语句没有分号。在标识符和串之间可以有任意个空格,串一旦开始,仅由一新行结束。

使用特权

评论回复
板凳
zb0830| | 2016-5-14 19:56 | 只看该作者
宏替换仅仅是以文本串代替宏标识符,前提是宏标识符必须独立的识别出来,否则不进行替换。例如:
#define XYZ this is a tes 使用宏 printf("XYZ");//该段不打印"this is a test"而打印"XYZ"。因为预编译器识别出的是"XYZ"

使用特权

评论回复
地板
engao|  楼主 | 2016-5-14 19:57 | 只看该作者
如果串长于一行,可以在该行末尾用一反斜杠' \'续行。
#defineLONG_STRING"this is a very long\
string that is used as an example

使用特权

评论回复
5
zb0830| | 2016-5-14 19:57 | 只看该作者
C 语言程序普遍使用大写字母定义标识符。

使用特权

评论回复
6
engao|  楼主 | 2016-5-14 19:57 | 只看该作者
用宏代换代替实在的函数的一大好处是宏替换增加了代码的速度,因为不在函数调用的开销。但增加速度也有代价:由于重复编码而增加了程序长度

使用特权

评论回复
7
qiangg| | 2016-5-14 20:06 | 只看该作者
原来有这么多的用处,学习了

使用特权

评论回复
8
baimiaocun2015| | 2016-5-15 12:15 | 只看该作者
#define 定义了一个标识符及一个串,这个在写程序时经常用到的。

使用特权

评论回复
9
vivilzb1985| | 2016-5-20 21:46 | 只看该作者
#define 的功能在程序中是不能替换的。

使用特权

评论回复
10
vibra2016| | 2016-6-27 21:55 | 只看该作者
#define 的用法在程序中是最常见的。

使用特权

评论回复
11
huihui520| | 2016-6-28 07:28 | 只看该作者
这是最常用的宏了

使用特权

评论回复
12
comeon201208| | 2016-6-28 21:57 | 只看该作者
#define的一般用来定义一个常量的

使用特权

评论回复
13
没有六一了| | 2016-6-29 07:03 | 只看该作者
这个不就是替换嘛

使用特权

评论回复
14
飞翔的控制器| | 2016-6-29 07:18 | 只看该作者
替换是它的最主要作用

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

34

主题

400

帖子

0

粉丝