代码点读机 / C / #undef

#undef C · 预处理

取消一个已经用 #define 创建的宏名字,让它在后续代码中不再有效。

怎么用

#undef 宏名

小例子

#include <stdio.h>
#define DEBUG
#undef DEBUG
int main(void) {
#ifdef DEBUG
    printf("调试");
#endif
    return 0;
}

编译结果

输出空(DEBUG 已取消,条件编译块被跳过)

提醒:常用于在代码某一段之后关闭临时宏;取消未定义的宏是安全的

官方文档:https://en.cppreference.com/w/c/preprocessor/replace

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← C全部词条