本文目录一览:

c语言中的“宏”是指什么?

宏是一种预处理指令,它提供了一种机制,可以用来替换源代码中的字符串。

1、条件编译:

C语言中,预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行相应的转换,预处理过程还会删除程序中的注释和多余的空白符号。

预处理指令是以#开头的代码行,#必须是该行除了空白字符外的第一个字符。#后是指令关键字,在#和指令关键字之间允许存在若干空白字符。

使用宏进行条件编译的用法与使用宏防止多重引用类似。示例如下:

使用条件编译,方便程序员在调试程序的过程中,执行一些在程序发布后并不需要执行的指令。只要在需要调试的代码前加上_DEBUG的定义,就可以在调试程序的过程中输出调试信息。

这样方便查看程序在运行过程中有没有出现错误,定位错误出现的地方。而在程序发布之前,取消_DEBUG的定义就可以不再执行调试代码。

2、宏函数:

函数的调用是需要一定的时间和空间代价的。因为系统在调用函数时,需要保留"现场",即将程序要执行的指令的下一条指令的位置压入栈,然后转入调用函数去执行,调用完函数后再返回主调函数,恢复"现场",返回到栈里保存的的下一条指令的位置继续执行。

所以函数的调用需要额外的时间和空间代价。

而宏函数则不存在上述问题,宏函数在预编译时,同函数定义的代码来替换函数名,将函数代码段嵌入到当前程序,不会产生函数调用。

所以会省去普通函数保留现场恢复现场的时间,但因为要将定义的函数体嵌入到当前程序,所以不可避免的会占用额外的存储空间。

在频繁调用同一个宏的时候,该现象尤其明显。宏函数的示例定义如下:

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

宏函数的优点在于避免函数调用,提高程序效率。

同时需要注意的是inline标识符。inline也将函数定义为内联的。但是使用内联函数需要注意的是:函数体必须十分简单,不能含有循环、条件、选择等复杂结构,否则就不能作为内联函数了。

事实上,有时候即便你没有将函数指定为内联函数,编译器也会将一些简单的函数作为内联函数处理,而对于一些复杂的函数,即使声明为内联函数,编译器也不会理会的。

inline函数的瓶颈就在于此,使用inline标识符将函数声明为内联的,但这只是一种提示,到底编译器有没有优化还依赖于编译器的实现,而使用宏函数则完全由代码本身控制。

但在使用宏函数的时候,需要明确的是宏函数只是简单的替换,需要注意括号的使用。

扩展资料:

宏的更多规则特性:

(1)宏名一般用大写。

(2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义。

(3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。

(4)宏定义末尾不加分号。

(5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。

(6)可以用#undef命令终止宏定义的作用域。

(7)宏定义不可以嵌套。

(8)字符串" "中永远不包含宏。

(9)宏定义不分配内存,变量定义分配内存。

(10)宏定义不存在类型问题,它的参数也是无类型的。

参考资料:

百度百科--宏定义

宏是什么意思啊

1.宏观[hóng guān]

大得用肉眼就足够观察的,不涉及分子、原子、电子等内部结构或机制的。

2.宏愿[hóng yuàn]

宏伟的抱负。

3.宏图[hóng tú]

宏伟的计划;远大的谋略。

4.宏大[hóng dà]

巨大,宏伟

5.宏丽[hóng lì]

宏伟壮丽;富丽。汉 王延寿 《鲁灵光殿赋》:“何宏丽之靡靡,咨用力之妙勤。非夫通神之俊才,谁能克成乎此勋。” 北齐 颜之推 《颜氏家训·文章》:“自古执笔为文者,何可胜言?然至於宏丽精华,不过数十篇耳。”

6.宏论[hóng lùn]

见解高深的言论。

7.宏富[hóng fù]

宏伟富赡

8.宏旨[hóng zhǐ]

大政方针;主要内容。

9.宽宏[kuān hóng]

心胸开阔,度量大

10.宏徽[hóng huī]

伟大的功德。

11.宏敞[hóng chǎng]

高大宽敞。

12.宏通[hóng tōng]

贯通;博大通彻。

13.宏指[hóng zhǐ]

见“ 宏旨 ”。

14.宏拔[hóng bá]

谓气势等宏伟出众。

15.宏整[hóng zhěng]

宏伟整齐。

宏的通俗解释 什么是宏

1、宏(英语:Macro)是一种批量处理的称谓。

2、计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。

3、宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。

宏是什么意思?

一、汉字释义:

1. 广大,博大:~大。~伟。~图。~愿。~论。~丽。~亮。~观。宽~。  

2. 姓。

二、宏的读音是:hóng

三、汉字结构:上下结构

四、部首:宀

五、相关词组:

宏图、宏丽、宏愿、宏富、恢宏、宏大

扩展资料:

一、汉字笔画:

点、点、横撇/横钩、横、撇、撇折、点

二、词语释义:

1、宏图

宏伟的计划;远大的谋略。

2、宏丽

宏伟壮丽;富丽。

3、宏愿

宏伟的抱负。

4、宏富

宏伟富赡。

5、恢宏

宽阔;博广。

“宏”字怎么组词?

“宏”的组词:

宏指、宏轨、宏谟、宏溥、宏妙、宏畅、宏谋、宏纵、宏敞、宏杰、宏爽、宏阔、宏规、宏伟、宏洽、宏廓、宏丽、宏旨、宏览、宏峻、宏观、宏大、宏材、宏器、宏覆、宏达、宏扬、宏气、宏愿、宏裁、宏深、含宏、宏识、宏济、崇宏、苌宏、渊宏、肫宏、杨宏胜、袁宏道、宏图大志、宏观调控、宏才大略、不关宏旨、博学宏词、博学宏才、宏观经济、宏儒硕学、高文宏议、度量宏大、大雅宏达、大展宏图、取精用宏、崇论宏议、宽宏大度、宽宏大量、恢宏大度、宏才远志、无关宏旨、宏材大略、宏伟壮观。

拼 音: hóng

部 首: 宀

笔 画:7

释义:

1.广大,博大:~大。~伟。~图。~愿。~论。~丽。~亮。~观。宽~。

2.姓。

组词:

1、宏观世界

造句:宏观世界演化是和微观的原子核反应息息相关的,中子理论的成功是否也可以预测分子生物世界中有没有“完全由中子组成的生物体”呢?

解释:不涉及分子、原子、电子等结构的物质世界,一般指行星、恒星、星系等巨大的物质领域。

2、宏愿

造句:实现刘将军宏愿的关键是要拥有一艘航空母舰,他曾信誓旦旦地说:“如果我看不到一艘中国自己的航母出现在我面前,我就死不瞑目。”

解释:【弘愿】伟大的志愿。

3、宏图

造句:如果你有意在司法界一展宏图,那请注意美国一项研究成果:名字颇为男性化的女子在律师和法官职业上,比起那些有着更传统女性名字的女子更为成功。

解释:【弘图】【鸿图】远大的设想;宏伟的计划:立大志,展~。

4、宏大

造句:最后,生命之火熄灭,一个人永远睡去,不再醒来。我们应当能够感受人生节奏之美,如同欣赏宏大的交响乐,我们能够欣赏它的主题,它的冲突旋律以及最后的和声。

解释:巨大;宏伟:规模~|~的志愿。

5、宏伟

造句:大约五百万年以前,这个地区是一个石灰岩的高原,海平面的上升增强了冲浪和雨对石灰岩的影响,开始分割成为这些宏伟的峭壁,同时形成了堆栈和拱门。

解释:(规模、计划等)雄壮伟大。

6、恢宏

造句:他的恢宏力作《自然的大都会:芝加哥即伟大的西部》是本人阅读有关经济及商业史中最伟大的作品??我读过许多这样的东西。

解释:同〖恢弘〗。

7、宽宏

造句:她事事忍让,确实是一位殉道者,但她不准自己为敌人祈祷??她尽管宽宏大量,却唯恐自己用来祝福的语言会顽强地扭曲成对他们的诅咒。

解释:(气量)大:~大量。

8、宏观

造句:我想补充一点,那就是这有助于发现他的个人好恶和风格,如果他只关注数据,就让数字说话,如果他做高瞻远瞩状,那就让宏观信息上阵吧。

解释:不涉及分子、原子、电子等内部结构或机制的(跟‘微观’相对):~世界|~观察。

9、宏旨

造句:任何与此相关的教义或断言,特别是那些对于自然界宇宙的本质和起源作出声明的教义或断言,充其量只是次要的,而且往往是无关宏旨的。

解释:【弘旨】大旨;主要的意思:无关~。

10、宏达

造句:从技术面来看,宏达电14日相对强弱指标(RSI)周三升至超买水准71.435,显示有股价有回落的风险.

解释:(学识)广博通达。

11、宏论

造句:我确信自己终于发现了从亚当以来的第一个真正的世界公民,我倾听他纵横整个世界的宏论,生怕从中发现他仅仅是个环球旅行的地方口音。

解释:【弘论】见识广博的言论。

12、宽宏大量

造句:然而佩林的宽宏大量并未延伸到2008年竞选时的麦凯恩高级助手身上。她将在竞选之路上降临在她身上的许多灾难性事件都归咎于他们。

典故:形容度量大,能容人。

13、无关宏旨

造句:任何与此相关的教义或断言,特别是那些对于自然界宇宙的本质和起源作出声明的教义或断言,充其量只是次要的,而且往往是无关宏旨的。

典故:宏:大;旨:意义,目的。和主要意思没有关系。指意义不大或关系不大。

14、宏图大志

造句:“天益嘉华人”将以健康事业的永续经营和发展,振兴民族产业,与国际知名保健品企业同台竞争,实现产业报国的宏图大志。

典故:宏伟的计划,远大的志向。