1,请问在WORD中的宏是什么意思如何使用呀最好举个详细的例

说的通俗一些,它好象就是一个摄象机的功能,能记录下你的操作..~~~
关于宏 如果在 microsoft word 中反复执行某项任务,可以使用宏自动执行该任务。宏是一系列 word 命令和指令,这些命令和指令组合在一起,形成了一个单独的命令,以实现任务执行的自动化。 以下是宏的一些典型应用: 加速日常编辑和格式设置 组合多个命令,例如插入具有指定尺寸和边框、指定行数和列数的表格 使对话框中的选项更易于访问 自动执行一系列复杂的任务 word 提供两种方法来创建宏:宏记录器和 visual basic 编辑器。 如果要方便快捷地运行宏,可以将其指定到工具栏、菜单或快捷键。这样,运行宏就和单击工具栏按钮或菜单命令,或者按快捷键一样简单。 如果为一个新的宏指定与现有内置 word 命令相同的名称,新的宏操作将代替现有的操作。例如,如果录制一个新的宏并将之命名为“fileclose”,它将与“关闭”命令相关联。当选择“关闭”命令时,word 将执行新录制的操作。 录制宏 宏录制器可以帮助您开始创建宏。word 将宏录制为一系列 visual basic for applications 中的 word 命令。在录制宏的过程中可以暂停录制,随后从暂停时的位置继续录制。 录制一个宏时,可以使用鼠标单击命令和选项,但是宏录制器不能录制鼠标在文档窗口中的移动。必须用键盘来记录这些动作。 关于录制宏的提示 在录制或书写宏之前,请计划好需要宏执行的步骤和命令。 如果在录制宏的过程中进行了错误操作,更正错误的操作也将被录制。录制结束后,您可以编辑宏并删除录制的不必要的操作。 尽量预测任何 word 可能显示的信息,在宏运行时,这些信息可能使宏操作停止或造成混淆。 如果宏包含“编辑”菜单中的“查找”或“替换”命令,请单击“查找”或“替换”选项卡上的“高级”按钮,然后单击“搜索范围”框中的“全部”选项。如果宏仅向上或向下进行搜索,word 会在达到文档开头或结尾时停止运行宏,并显示提示信息询问是否继续搜索。 如果要在其他文档中使用正在录制的宏,请确认该宏与当前文档的内容无关。 如果经常用某个宏,可将其指定给工具栏按钮、菜单或快捷键。这样,就可以直接运行该宏而不必打开“宏”对话框。 从头开始创建宏 可以使用“visual basic 编辑器”来创建非常灵活、功能强大的宏,其中包含无法录制的 visual basic 指令。 使用“visual basic 编辑器”时,可以获取附加的帮助,例如关于对象和属性的参考信息。 保存宏 可以将宏保存在模板或文档中。在默认情况下,word 将宏保存在 normal 模板中。这样所有 word 文档都可使用宏。如果需在单独的文档中使用宏,可以将宏保存在该文档中。文档中单独的宏保存在宏方案中,可以将该宏从文档中复制到其他文档。 在 web 页中自动执行任务 在以 web 页保存并发布的 word 文档中,使用脚本标记和“microsoft 脚本编辑器”,而不是使用宏来自动执行任务。 脚本标记用来标记 word 文档中存储脚本的位置。双击 word 文档中的脚本标记会启动“microsoft 脚本编辑器”,这时就可以开始编辑脚本。在 web 浏览器中显示 web 页时,将会运行脚本。

请问在WORD中的宏是什么意思如何使用呀最好举个详细的例

2,Word中的宏是什么意思

我们在编辑文档时,操作是一步一步进行的。如果我们把多步操作组合在一起,用一个快捷键来代替,使用时,只要按这个快捷键,系统就会自动地完成预定的多步操作。这就是“宏”。 举个例子:你从网上下载网页内容后复制到Word中后可能有很多空行,你可用替代的方法去除,你可能还要设置重新行距等。这一系列任务你可录制一个宏,并设定快捷键。以后你要进行这一系列任务时只要按一下设定的快捷键就能自动完成了。
录制文字,用的,
录制段落用的,呵呵
关于宏 如果在 Microsoft Word 中反复执行某项任务,可以使用宏自动执行该任务。宏是一系列 Word 命令和指令,这些命令和指令组合在一起,形成了一个单独的命令,以实现任务执行的自动化。 以下是宏的一些典型应用: 加速日常编辑和格式设置 组合多个命令,例如插入具有指定尺寸和边框、指定行数和列数的表格 使对话框中的选项更易于访问 自动执行一系列复杂的任务 Word 提供两种方法来创建宏:宏记录器和 Visual Basic 编辑器。 如果要方便快捷地运行宏,可以将其指定到工具栏、菜单或快捷键。这样,运行宏就和单击工具栏按钮或菜单命令,或者按快捷键一样简单。 如果为一个新的宏指定与现有内置 Word 命令相同的名称,新的宏操作将代替现有的操作。例如,如果录制一个新的宏并将之命名为“FileClose”,它将与“关闭”命令相关联。当选择“关闭”命令时,Word 将执行新录制的操作。 录制宏 宏录制器可以帮助您开始创建宏。Word 将宏录制为一系列 Visual Basic for Applications 中的 Word 命令。在录制宏的过程中可以暂停录制,随后从暂停时的位置继续录制。 录制一个宏时,可以使用鼠标单击命令和选项,但是宏录制器不能录制鼠标在文档窗口中的移动。必须用键盘来记录这些动作。 关于录制宏的提示 在录制或书写宏之前,请计划好需要宏执行的步骤和命令。 如果在录制宏的过程中进行了错误操作,更正错误的操作也将被录制。录制结束后,您可以编辑宏并删除录制的不必要的操作。 尽量预测任何 Word 可能显示的信息,在宏运行时,这些信息可能使宏操作停止或造成混淆。 如果宏包含“编辑”菜单中的“查找”或“替换”命令,请单击“查找”或“替换”选项卡上的“高级”按钮,然后单击“搜索范围”框中的“全部”选项。如果宏仅向上或向下进行搜索,Word 会在达到文档开头或结尾时停止运行宏,并显示提示信息询问是否继续搜索。 如果要在其他文档中使用正在录制的宏,请确认该宏与当前文档的内容无关。 如果经常用某个宏,可将其指定给工具栏按钮、菜单或快捷键。这样,就可以直接运行该宏而不必打开“宏”对话框。 从头开始创建宏 可以使用“Visual Basic 编辑器”来创建非常灵活、功能强大的宏,其中包含无法录制的 Visual Basic 指令。 使用“Visual Basic 编辑器”时,可以获取附加的帮助,例如关于对象和属性的参考信息。 保存宏 可以将宏保存在模板或文档中。在默认情况下,Word 将宏保存在 Normal 模板中。这样所有 Word 文档都可使用宏。如果需在单独的文档中使用宏,可以将宏保存在该文档中。文档中单独的宏保存在宏方案中,可以将该宏从文档中复制到其他文档。 在 Web 页中自动执行任务 在以 Web 页保存并发布的 Word 文档中,使用脚本标记和“Microsoft 脚本编辑器”,而不是使用宏来自动执行任务。 脚本标记用来标记 Word 文档中存储脚本的位置。双击 Word 文档中的脚本标记会启动“Microsoft 脚本编辑器”,这时就可以开始编辑脚本。在 Web 浏览器中显示 Web 页时,将会运行脚本。

Word中的宏是什么意思

3,Word中什么叫做宏

关于宏 如果在 Microsoft Word 中反复执行某项任务,可以使用宏自动执行该任务。宏是一系列 Word 命令和指令,这些命令和指令组合在一起,形成了一个单独的命令,以实现任务执行的自动化。 以下是宏的一些典型应用: 加速日常编辑和格式设置 组合多个命令,例如插入具有指定尺寸和边框、指定行数和列数的表格 使对话框中的选项更易于访问 自动执行一系列复杂的任务 Word 提供两种方法来创建宏:宏记录器和 Visual Basic 编辑器。 如果要方便快捷地运行宏,可以将其指定到工具栏、菜单或快捷键。这样,运行宏就和单击工具栏按钮或菜单命令,或者按快捷键一样简单。 如果为一个新的宏指定与现有内置 Word 命令相同的名称,新的宏操作将代替现有的操作。例如,如果录制一个新的宏并将之命名为“FileClose”,它将与“关闭”命令相关联。当选择“关闭”命令时,Word 将执行新录制的操作。 录制宏 宏录制器可以帮助您开始创建宏。Word 将宏录制为一系列 Visual Basic for Applications 中的 Word 命令。在录制宏的过程中可以暂停录制,随后从暂停时的位置继续录制。 录制一个宏时,可以使用鼠标单击命令和选项,但是宏录制器不能录制鼠标在文档窗口中的移动。必须用键盘来记录这些动作。 关于录制宏的提示 在录制或书写宏之前,请计划好需要宏执行的步骤和命令。 如果在录制宏的过程中进行了错误操作,更正错误的操作也将被录制。录制结束后,您可以编辑宏并删除录制的不必要的操作。 尽量预测任何 Word 可能显示的信息,在宏运行时,这些信息可能使宏操作停止或造成混淆。 如果宏包含“编辑”菜单中的“查找”或“替换”命令,请单击“查找”或“替换”选项卡上的“高级”按钮,然后单击“搜索范围”框中的“全部”选项。如果宏仅向上或向下进行搜索,Word 会在达到文档开头或结尾时停止运行宏,并显示提示信息询问是否继续搜索。 如果要在其他文档中使用正在录制的宏,请确认该宏与当前文档的内容无关。 如果经常用某个宏,可将其指定给工具栏按钮、菜单或快捷键。这样,就可以直接运行该宏而不必打开“宏”对话框。 从头开始创建宏 可以使用“Visual Basic 编辑器”来创建非常灵活、功能强大的宏,其中包含无法录制的 Visual Basic 指令。 使用“Visual Basic 编辑器”时,可以获取附加的帮助,例如关于对象和属性的参考信息。 保存宏 可以将宏保存在模板或文档中。在默认情况下,Word 将宏保存在 Normal 模板中。这样所有 Word 文档都可使用宏。如果需在单独的文档中使用宏,可以将宏保存在该文档中。文档中单独的宏保存在宏方案中,可以将该宏从文档中复制到其他文档。 在 Web 页中自动执行任务 在以 Web 页保存并发布的 Word 文档中,使用脚本标记和“Microsoft 脚本编辑器”,而不是使用宏来自动执行任务。 脚本标记用来标记 Word 文档中存储脚本的位置。双击 Word 文档中的脚本标记会启动“Microsoft 脚本编辑器”,这时就可以开始编辑脚本。在 Web 浏览器中显示 Web 页时,将会运行脚本。
宏: 是一种批次批量处里的称谓。例子有tex语言及微软的vba等。 1、office宏,译自英文单词macro。宏是微软公司为其office软件包设计的一个特殊功能,软件设计者为了让人们在使用软件进行工作时,避免一再地重复相同的动作而设计出来的一种工具,它利用简单的语法,把常用的动作写成宏,当在工作时,就可以直接利用事先编好的宏自动运行,去完成某项特定的任务,而不必再重复相同的动作,目的是让用户文档中的一些任务自动化。 office中的word和excel都有宏。word便为大众事先定义一个共用的通用模板(normal.dot),里面包含了基本的宏。只要一启动word,就会自动运行normal.dot文件。如果在word中重复进行某项工作,可用宏使其自动执行。word提供了两种创建宏的方法:宏录制器和visual basic编辑器。宏将一系列的word命令和指令组合在一起,形成一个命令,以实现任务执行的自动化。在默认的情况下,word将宏存贮在 normal模板中,以便所有的word文档均能使用,这一特点几乎为所有的宏病毒所利用。 2、在c语言源程序中允许用一个标识符来表示一个字符串, 称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换, 这称为“宏代换”或“宏展开”。 宏定义是由源程序中的宏定义命令完成的。 宏代换是由预处理程序自动完成的。在c语言中,“宏”分为有参数和无参数两种。 下面分别讨论这两种“宏”的定义和调用。 参考资料:http://zhidao.baidu.com/question/2126723.html?fr=qrl3
宏是将一系列的Word命令和指令组合在一起,形成一个命令,以实现任务执行的自动化。您可创建并执行一个宏,以替代人工进行一系列费时而重复的 Word操作。 以下是宏的一些典型应用: 加速日常编辑和格式设置 组合多个命令 使对话框中的选项更易于访问 使一系列复杂的任务自动执行
宏是一系列 Word 命令和指令,这些命令和指令组合在一起,形成了一个单独的命令,以实现任务执行的自动化。 如果在 Microsoft Word 中反复执行某项任务,可以使用宏自动执行该任务。

Word中什么叫做宏

4,word里的宏指的是什么

宏可以做什么 所有你想同时完成的事情都可以让宏来一次完成,并且所有会不断重复的命令(比如说话或其他动作)都可以事先宏里面定义好 1、什么是宏? 宏是微软公司为其OFFICE软件包设计的一个特殊功能,目的是让用户文档中的一些任务自动化。OFFICE中的WORD和EXEAL都有宏。在下面的讨论中我们以WORD为例。 如果在Word中重复进行某项工作,可用宏使其自动执行。宏是将一系列的Word命令和指令组合在一起,形成一个命令,以实现任务执行的自动化。您可创建并执行一个宏,以替代人工进行一系列费时而重复的 Word操作。 以下是宏的一些典型应用: 加速日常编辑和格式设置 组合多个命令 使对话框中的选项更易于访问 使一系列复杂的任务自动执行 Word提供了两种创建宏的方法:宏录制器和Visual Basic编辑器。 宏录制器可帮助您开始创建宏。Word在Visual Basic for Applications编程语言中把宏录制为一系列的Word命令。 可在Visual Basic编辑器中打开已录制的宏,修改其中的指令。也可用Visual Basic编辑器创建包括Visual Basic指令的非常灵活和强有力的宏。 您可将宏保存到模板或文档中。在默认的情况下,Word将宏存贮在 Normal模板中,以便所有的Word文档均能使用。注意这一特点几乎为所有的宏病毒所利用 2、什么是宏病毒? 宏病毒是一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会 “感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。 如果某个文档中包含了宏病毒,我们称此文档感染了宏病毒;如果 WORD系统中的模板包含了宏病毒,我们称WORD系统感染了宏病毒。 虽然OFFICE97/Word97无法扫描软盘、硬盘或网络驱动器上的宏病毒(要得到这种保护,需要购买和安装专门的防病毒软件)。但当打开一个含有可能携带病毒的宏的文档时,它能够显示宏警告信息。 这样就可选择打开文档时是否要包含宏,如果希望文档包含要用到的宏(例如,单位所用的定货窗体),打开文档时就包含宏。 如果您并不希望在文档中包含宏,或者不了解文档的确切来源。例如,文档是作为电子邮件的附件收到的,或是来自网络或不安全的 Internet节点。在这种情况下,为了防止可能发生的病毒传染,打开文档过程中出现宏警告提示时最好选择“取消宏”。 OFFICE97软件包安装后,系统中包含有关于宏病毒防护的选项,其默认状态是允许“宏病毒保护”复选框。如果愿意,您可以终止系统对文档宏病毒的检查。当Word显示宏病毒警告信息时,清除“在打开带有宏或自定义内容的文档时提问”复选框。或者关闭宏检查:单击“工具”菜单中的“选项”命令,再单击“常规”选项卡,然后清除“宏病毒保护”复选框。 不过我强烈建议您不要取消宏病毒防护功能,否则您会失去这道防护宏病毒的天然屏障。 二、宏病毒的判断方法 虽然不是所有包含宏的文档都包含了宏病毒,但当有下列情况之一时,您可以百分之百地断定您的OFFICE文档或OFFICE系统中有宏病毒: 1、在打开“宏病毒防护功能”的情况下,当您打开一个您自己写的文档时,系统会会弹出相应的警告框。而您清楚您并没有在其中使用宏或并不知道宏到底怎么用,那么您可以完全肯定您的文档已经感染了宏病毒。 2、同样是在打开“宏病毒防护功能”的情况下,您的OFFICE文档中一系列的文件都在打开时给出宏警告。由于在一般情况下我们很少使用到宏,所以当您看到成串的文档有宏警告时,可以肯定这些文档中有宏病毒。 3、如果软件中关于宏病毒防护选项启用后,不能在下次开机时依然保存。WORD97中提供了对宏病毒的防护功能,它可以在“工具/选项/常规”中进行设定。但有些宏病毒为了对付OFFICE97中提供的宏警告功能,它在感染系统(这通常只有在您关闭了宏病毒防护选项或者出现宏警告后您不留神选取了“启用宏”才有可能)后,会在您每次退出 OFFICE时自动屏蔽掉宏病毒防护选项。因此您一旦发现:您的机器中设置的宏病毒防护功能选项无法在两次启动WORD之间保持有效,则您的系统一定已经感染了宏病毒。也就是说一系列WORD模板、特别是normal.dot 已经被感染。 鉴于绝大多数人都不需要或着不会使用“宏”这个功能,我们可以得出一个相当重要的结论:如果您的OFFICE文档在打开时,系统给出一个宏病毒警告框,那么您应该对这个文档保持高度警惕,它已被感染的几率极大。注意:简单地删除被宏病毒感染的文档并不能清除OFFICE系统中的宏病毒! 三、宏病毒的防治和清除 1、首选方法:用最新版的反病毒软件清除宏病毒。使用反病毒软件是一种高效、安全和方便的清除方法,也是一般计算机用户的首选方法。但是宏病毒并不象某些厂商或麻痹大意的人那样认为的有所谓“广谱”的查杀软件,这方面的突出例子就是ETHAN宏病毒。 ETHAN宏病毒相当隐蔽,比如您使用KV300 Z+、RAV V9.0(11)、 KILL 85.03等反病毒软件(应该算比较新的版本了)都无法查出它。此外这个宏病毒能够悄悄取消WORD中宏病毒防护选项,并且某些情况下会把被感染的文档置为只读属性,从而更好地保存了自己。 因此,对付宏病毒应该和对付其它种类的病毒一样,也要尽量使用最新版的查杀病毒软件。无论你使用的是何种反病毒软件,及时升级是非常重要的。比如虽然KV300 Z+版不能查杀ETHAN宏病毒,但最新推出的KV300 Z++已经可以查杀它。 2、应急处理方法:用写字板或WORD 6.0文档作为清除宏病毒的桥梁。如果您的WORD系统没有感染宏病毒,但需要打开某个外来的、已查出感染有宏病毒的文档,而手头现有的反病毒软件又无法查杀它们,那么您可以试验用下面的方法来查杀文档中的宏病毒:打开这个包含了宏病毒的文档(当然是启用WORD中的“宏病毒防护”功能并在宏警告出现时选择“取消宏”),然后在“文件”菜单中选择“另存为”,将此文档改存成写字板(RTF)格式或WORD6.0格式。 在上述方法中,存成写字板格式是利用RTF文档格式没有宏,存成 WORD 6.0格式则是利用了WORD97文档在转换成WORD6.0格式时会失去宏的特点。写字板所用的rtf格式适用于文档中的内容限于文字和图片的情况下,如果文档内容中除了文字、图片外还有图形或表格,那么按 WORD6.0格式保存一般不会失去这些内容。 存盘后应该检查一下文档的完整性,如果文档内容没有任何丢失,并且在重新打开此文档时不再出现宏警告则大功告成。 参考资料:http://www.pconline.com.cn/pcedu/soft/virus/10202/34838.html

5,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)宏定义不存在类型问题,它的参数也是无类型的。参考资料:搜狗百科--宏定义
简单来说:宏定义又称为宏代换、宏替换,简称“宏”。是C提供的三种预处理功能的其中一种。复杂的请看下面,讲的很全。下面的带参宏定义,多行宏定义,在Linux内核源码中很多。另外sizeof也是一个宏定义。 宏定义 宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译 1. 不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。 预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。 即在对相关命令或语句的含义和功能作具体分析之前就要换: 例:   #define PI 3.1415926   把程序中出现的PI全部换成3.1415926 说明: (1)宏名一般用大写 (2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义 (3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。 (4)宏定义末尾不加分号; (5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。 (6)可以用#undef命令终止宏定义的作用域 (7)宏定义可以嵌套 (8)字符串" "中永远不包含宏 (9)宏定义不分配内存,变量定义分配内存。 2. 带参数的宏定义: 除了一般的字符串替换,还要做参数代换 格式:   #define 宏名(参数表) 字符串 例如:#define S(a,b) a*b area=S(3,2);第一步被换为area=a*b; ,第二步被换为area=3*2; 类似于函数调用,有一个哑实结合的过程: (1)实参如果是表达式容易出问题 #define S(r) r*r area=S(a+b);第一步换为area=r*r;,第二步被换为area=a+b*a+b; 正确的宏定义是#define S(r) ((r)*(r)) (2)宏名和参数的括号间不能有空格 (3)宏替换只作替换,不做计算,不做表达式求解 (4)函数调用在编译后程序运行时进行,并且分配内存。宏替换在编译前进行,不分配内存 (5)宏的哑实结合不存在类型,也没有类型转换。 (6)函数只有一个返回值,利用宏则可以设法得到多个值 (7)宏展开使源程序变长,函数调用不会 (8)宏展开不占运行时间,只占编译时间,函数调用占运行时间(分配内存、保留现场、值传递、返回值) 3. 宏定义其他冷门、重点知识 #define用法 1、 用无参宏定义一个简单的常量 #define LEN 12 这个是最常见的用法,但也会出错。 比如下面几个知识点你会吗?可以看下: (1) #define NAME "zhangyuncong" 程序中有"NAME"则,它会不会被替换呢? (2) #define 0x abcd 可以吗?也就是说,可不可以用把标识符的字母替换成别的东西? (3) #define NAME "zhang 这个可以吗? (4) #define NAME "zhangyuncong" 程序中有上面的宏定义,并且,程序里有句: NAMELIST这样,会不会被替换成"zhangyuncong"LIST 四个题答案都是否定的。 第一个,""内的东西不会被宏替换。这一点应该大都知道。 第二个,宏定义前面的那个必须是合法的用户标识符 第三个,宏定义也不是说后面东西随便写,不能把字符串的两个""拆开。 第四个:只替换标识符,不替换别的东西。NAMELIST整体是个标识符,而没有NAME标识符,所以不替换。 也就是说,这种情况下记住:#define 第一位置第二位置 (1) 不替换程序中字符串里的东西。 (2) 第一位置只能是合法的标识符(可以是关键字) (3) 第二位置如果有字符串,必须把""配对。 (4) 只替换与第一位置完全相同的标识符 还有就是老生常谈的话:记住这是简单的替换而已,不要在中间计算结果,一定要替换出表达式之后再算。 2、 带参宏一般用法 比如#define MAX(a,b) ((a)>(b)?(a):(b)) 则遇到MAX(1+2,value)则会把它替换成: ((1+2)>(value)?(1+2):(value)) 注意事项和无参宏差不多。 但还是应注意 #define FUN(a) "a" 则,输入FUN(345)会被替换成什么? 其实,如果这么写,无论宏的实参是什么,都不会影响其被替换成"a"的命运。 也就是说,""内的字符不被当成形参,即使它和一模一样。 那么,你会问了,我要是想让这里输入FUN(345)它就替换成"345"该怎么实现呢? 请看下面关于#的用法 3、 有参宏定义中#的用法 #define STR(str) #str #用于把宏定义中的参数两端加上字符串的"" 比如,这里STR(my#name)会被替换成"my#name" 一般由任意字符都可以做形参,但以下情况会出错: STR())这样,编译器不会把“)”当成STR()的参数。 STR(,)同上,编译器不会把“,”当成STR的参数。 STR(A,B)如果实参过多,则编译器会把多余的参数舍去。(VC++2008为例) STR((A,B))会被解读为实参为:(A,B),而不是被解读为两个实参,第一个是(A第二个是B)。    4、 有参宏定义中##的用法 #define WIDE(str) L##str 则会将形参str的前面加上L 比如:WIDE("abc")就会被替换成L"abc" 如果有#define FUN(a,b) vo##a##b() 那么FUN(id ma,in)会被替换成void main() 5、 多行宏定义: #define doit(m,n) for(int i=0;i<(n);++i)\ m+=i;\ }

文章TAG:宏名称指的什么名称  什么  请问  
下一篇
展开更多