C 语言 中的宏类似于 常量,也是用来定义一个不会被修改的值,但 C 语言的宏的不可修改并不是编译器强制规定的。
C 语言宏的定义使用 define 关键字,同时,C 语言宏是在预处理阶段就会被替换为该宏所代替的值。同时,在 C 语言中,定义宏时变量名一般都全大写。
#define identifier value
参数 | 描述 |
---|---|
define | 定义宏的修饰符。 |
identifier | 变量名。 |
value | 常量的值。 |
在定义宏时,我们需要使用 define 来修饰。
使用 define 关键字定义宏
#include <stdio.h>
int main(long argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
#define PI 3.1415926
#define E 2.7182818
printf("PI = %f, E = %f\n", PI, E);
}
程序运行,结果如下:
我们使用了 defiine 定义了两个宏,分别为 PI,其值为 3.1415926,E 其值为 2.7182818。
使用 define 定义的宏可修改
#include <stdio.h>
int main(long argc, char **argv)
{
printf("嗨客网(www.haicoder.net)\n");
#define S 1024
printf("Before change S = %d\n", S);
#define S 1100
printf("After change S = %d\n", S);
}
程序运行,结果如下:
首先,我们使用了 define 定义了一个宏 S,并赋初值为 1024,接着,我们再次使用 define 修改了宏 S 的值。我们可以看到,宏是可以被修改的。
C 语言中的宏类似于常量,也是用来定义一个不会被修改的值,但 C 语言的宏的不可修改并不是编译器强制规定的。
C 语言宏的定义使用 define 关键字,同时,C 语言宏是在预处理阶段就会被替换为该宏所代替的值。同时,在 C 语言中,定义宏时变量名一般都全大写。C 语言宏定义语法:
#define identifier value