C语言取消定义宏

C语言取消定义宏教程

C 语言 中,我们定义了 或者 宏函数 之后,我们还可以使用 undef 取消定义宏和宏函数。

C语言取消定义宏

语法

#undef MACRO_NAME

参数

参数 描述
MACRO_NAME 宏名称

说明

我们使用了 #undef 取消了宏的定义。

案例

取消定义宏

使用了 #undef 取消定义宏

#include <stdio.h> #define PI 3.14 int main() { printf("嗨客网(www.haicoder.net)\n\n"); printf("PI = %d\n", PI); #undef PI printf("PI = %d\n", PI); return 0; }

程序运行后,控制台输出如下图所示:

13_c语言取消定义宏函数.png

我们首先定义了一个宏,接着,我们访问了该宏,接着,我们使用了 #undef 取消定义了该宏,最后,我们再次访问该宏,此时,我们看到程序报错了。

即,我们使用了 #undef 取消定义了宏,取消定义宏之后,不可以再次访问该宏。

取消定义宏函数

使用了 #undef 取消定义宏函数

#include <stdio.h> #define ISDIGIT(c) ((c) >= '0' && (c) <= '9') int main() { printf("嗨客网(www.haicoder.net)\n\n"); char ch1 = 'a'; char ch2 = 'B'; int isDigit1 = ISDIGIT(ch1); #undef ISDIGIT int isDigit2 = ISDIGIT(ch2); return 0; }

程序运行后,控制台输出如下图所示:

14_c语言取消定义宏函数.png

我们首先定义了一个宏函数 ISDIGIT,接着,我们调用了该函数,接着,我们使用 #undef 取消定义了该宏函数,最后,我们再次调用该宏函数,程序报错。

C语言取消定义宏总结

在 C 语言中,我们定义了宏或者宏函数之后,我们还可以使用 undef 取消定义宏和宏函数。