当前位置:
首页 > 计算机等级考试 > define c语言怎么用 宏的定义(陈岩)

知识点

define c语言怎么用 宏的定义(陈岩)

Define是C语言的预处理命令。用于宏定义,可以提高源代码的可读性,为编程提供便利。预处理命令以“#”开头,如include命令#include、宏定义命令#define等。它们通常放在源文件的前面,称为预处理部分。

宏的定义

在C或C++语言源程序中,允许用一个标识符来表示一个字符串,称为“宏”。定义为“宏”的标识符称为“宏名”。在编译的预处理过程中,程序中出现的所有“宏名”都被宏定义中的字符串所替代,称为“宏替换”或“宏扩展”。

宏定义是由源程序中的宏定义命令完成的。宏替换由预处理器自动完成。在C或C++语言中,“宏”分为参数型和非参数型两种。

无参数宏定义

不带参数的宏是不带参数的宏,其一般定义如下:

#定义标识符字符串

标识符是已定义宏的名称。“字符串”可以是常量、表达式、格式字符串等等。

例如:

#定义PI 3.14

它的作用是指定标识符PI而不是常量3.14。编译源程序时,使用3.14的地方都可以用pi代替,而编译源程序时,预处理器会用3.14代替所有宏名PI,然后编译。

带参数的宏定义

c语言允许宏接受参数。宏定义中的参数称为形式参数,宏调用中的参数称为实际参数。用参数调用宏时,不仅要扩展宏,还要用实际参数替换形式参数。

带参数的宏定义的一般形式是:

#定义宏名称(参数表)字符串

每个参数都包含在字符串中。

带参数的宏调用的一般形式是:

宏名(参数表)

例如:

#定义M(y) y*y+3*y

....

k = M(5);

....

调用宏时,形式参数Y被实际参数5代替,预处理宏展开的语句如下:

k=5*5+3*5