在 C 语言 中,我们定义了 宏 或者 宏函数 之后,我们还可以使用 undef
取消定义宏和宏函数。
#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;
}
程序运行后,控制台输出如下图所示:
我们首先定义了一个宏,接着,我们访问了该宏,接着,我们使用了 #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;
}
程序运行后,控制台输出如下图所示:
我们首先定义了一个宏函数 ISDIGIT,接着,我们调用了该函数,接着,我们使用 #undef
取消定义了该宏函数,最后,我们再次调用该宏函数,程序报错。
在 C 语言中,我们定义了宏或者宏函数之后,我们还可以使用 undef
取消定义宏和宏函数。