| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 526 人关注过本帖
标题:急求助 宏定义 是何义
只看楼主 加入收藏
死在键盘前
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-25
收藏
 问题点数:0 回复次数:5 
急求助 宏定义 是何义
 人家常常说,给它一个宏定义,到底是什么意思啊,书本上好少写呢, 是不是就是常量的定义?? 那怎么会叫宏?>?? 是什么意思啊,,这问题在1年前我就想不通了, 呵呵.1年前我还没学编程,不过,在书上看到,不懂所以,现在又碰到,,不得不发问到底了,哪位 阁下知道的请指明一二! 谢谢了 !
搜索更多相关主题的帖子: 何义 定义 
2007-09-27 10:03
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 
不一定是常量,宏其实就是起到替换的作用,如:

#define MAX(a,b) a>b?a:b

这也是宏定义,而且跟函数不同,这里的a,b没有指定类型,但上面的写法是错误的,使用的时候
int main()
{
int a = 5, b = 7;
int c = MAX(a+b, a*b); // 完全代入得 int c = a+b > a*b ? a+b : a*b; <- 这什么式子嘛!!
printf("%d\n", c);
}

所以要这样定义 #define MAX(a,b) ((a)>(b)?(a):(b))
这样上式相当于
int c = ((a+b) > (a*b) ? (a+b) : (a*b));

C++学习
2007-09-27 10:14
万兽无缰
Rank: 1
等 级:新手上路
威 望:1
帖 子:296
专家分:0
注 册:2007-8-27
收藏
得分:0 

就是用宏名代替字符串,说白了就是替换,用简单代替复杂


女朋友问我想怎么死~~~
             我说我想"爽死"
2007-09-27 10:45
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

1.宏定义可以把不确定的因素用宏定义说明,需要修改的时侯就把宏改一下就可以.
(如:#define ARRAY_MAX 100 宏定义数组最大容量)
2.宏定义可以把复杂的表达式用简单的宏来表示.
(如:#define FUN(X) (exp(X)*exp(X)+X*X-X*exp(X)) 这样用宏来表示一个函数)
3.宏定义可以作预编译处理.如在头文件作一定的预编译:
#ifndef INCLUDE_FILENAME_H
#define INCLUDE_FILENAME_H
...
#endif /*INCLUDE_FILENAME_H*/

希望楼下能补充.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-09-27 11:01
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 
回复:(neverTheSame)1.宏定义可以把不确定的因素用...
很清楚了

C++学习
2007-09-27 11:07
死在键盘前
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-25
收藏
得分:0 

明白.真是感激几位 写得真具体,明白了 受教!


2007-09-27 11:49
快速回复:急求助 宏定义 是何义
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029810 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved