C语言宏

C语言宏教程

C 语言 中的宏类似于 常量,也是用来定义一个不会被修改的值,但 C 语言的宏的不可修改并不是编译器强制规定的。

C 语言宏的定义使用 define 关键字,同时,C 语言宏是在预处理阶段就会被替换为该宏所代替的值。同时,在 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); }

程序运行,结果如下:

63_C语言宏.png

我们使用了 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); }

程序运行,结果如下:

64_C语言宏.png

首先,我们使用了 define 定义了一个宏 S,并赋初值为 1024,接着,我们再次使用 define 修改了宏 S 的值。我们可以看到,宏是可以被修改的。

C语言宏总结

C 语言中的宏类似于常量,也是用来定义一个不会被修改的值,但 C 语言的宏的不可修改并不是编译器强制规定的。

C 语言宏的定义使用 define 关键字,同时,C 语言宏是在预处理阶段就会被替换为该宏所代替的值。同时,在 C 语言中,定义宏时变量名一般都全大写。C 语言宏定义语法:

#define identifier value