宏是什么?#define命令又是什么?

来源:百度知道 编辑:UC知道 时间:2024/06/09 13:48:28

感性点说,宏就意味着扩大,扩展
理性点说,宏就是把一些 名称 的 意义,用更(较)少的 名称 来表达.这个词是个名词,一个术语,用来描述上述过程.

以上就是猥琐的死板教科书式说法.

其实没那么复杂,举个例子就知道了:
#define copyright printf("Microsoft sucks!\n");
int main(){
copyright
return 0;
}

其中当编辑程序(也就是,分析你代码的意思,并将之转换为机器能理解的语言的程序)看到copyright是,就把它替换成printf("Microsoft sucks!\n"); 这不就是"宏"之么? 也许还不是很清楚,下面这个例子:

#define M(x,y) c=a>b?a:b;printf("maximus is:%d",c);return;
也就是很短的名称 M(3,4) 就可以执行很多功能.

如果你听过 "别名" 一次,也许认为别名和宏美什么区别把?差不多把,但是宏可以代参数(指C语言,别的语言也可能又).因此,宏这个名字能更好解释它行为的本质.

是中文的博大精深蒙蔽了你的眼睛... 其实就那点破逼玩意,没什么~~

顺带说下,好久美写C程序,一时手又点生,程序不一定太正确...但是大体意思是对的.

P.S #define,即定义宏,不过这个命令有很多重要的问题,具体学到就知道了,比如说通常要在宏的替换体后加括号等.